![](/img/trans.png)
[英]Puppeteer page.click works, but page.evaluate + document click doesn't work
[英]Node.js: page.click() does not work outside of page.evaluate
我正在尝试触发元素上的点击事件,但如果我不在 page.evaluate 中使用它,则不会触发点击。
所以,这有效
await page.evaluate(async () => {
$('#myExport').click();
});
但是,这不起作用
await page.click('#myExport')
我是 Node.js 的新手,有任何帮助
1)澄清这两种方法之间的区别
2) 什么时候应该优先选择一个真的很棒。
3) 为什么点击在 page.evaluate 内工作而不是其他方式
谢谢。
评估 function 将执行浏览器上下文中选择器上定义的click()
function。 evaluate
的工作方式与有人打开浏览器控制台并键入命令的方式相同。
人偶page.click()
function 会将鼠标移动到提供的选择器的中心,然后执行mouse.down()
和mouse.up()
操作。 请记住,如果找不到匹配的选择器, page.click()
将抛出错误,如果它必须滚动页面,它将触发导航,因此它可能会出现意外行为。
我希望您可以使用以下代码解决问题。
await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);
可以在 api 文档中收集更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.