你能检查一下点击一个元素是否做了什么吗?喜欢带你到另一个页面?



我正在使用木偶师进行测试,我尝试单击一个元素,该元素会将我带到另一个页面。但是元素在单击操作之前加载会执行某些操作。

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(( 会触发单击操作,即使它尚未加载。希望这也对其他人有所帮助。

相关内容

最新更新