import { Frame } from "playwright"; export async function safeClick(page: Frame, selector: string): Promise { // TODO: Remove. Playwright does this for you... mostly. // But our knockout+react setup sometimes leaves dom nodes detached and even playwright can't recover. // Resource tree is particually bad. // Ideally this should only be added as a last resort await page.waitForSelector(selector); await page.waitForTimeout(5000); await page.click(selector); }