我正在使用操纵up进行测试,我尝试单击一个将带我进入另一个页面的元素。但是,在单击操作之前,元素会加载。
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()也会触发click动作。希望这也会对其他人有所帮助。