我正在使用木偶师进行测试,我尝试单击一个元素,该元素会将我带到另一个页面。但是元素在单击操作之前加载会执行某些操作。
await page.waitFor(element);
await page.click(element);
在这种情况下,单击不会执行任何操作。我想知道我是否可以做这样的事情:
await page.waitFor(element);
await page.waitForFunction((selector) => {
const element = document.querySelector(selector);
const { clickActionDoesSomething } = element;
if (clickActionDoesSomething) {
return true;
}
}, selector);
await page.click(element);
我想避免 page.waitFor(x 毫秒(;
在此期间,我找到了解决问题的方法。我使用过:
page.evaluate((selector) => {
const element = document.querySelector(selector);
element.click();
}, selector)
似乎在页面上下文中,element.click(( 会触发单击操作,即使它尚未加载。希望这也对其他人有所帮助。