puppeteer 触发点击按钮不起作用
Posted
技术标签:
【中文标题】puppeteer 触发点击按钮不起作用【英文标题】:puppeteer trigger click of button not working 【发布时间】:2022-01-20 16:08:11 【问题描述】:我在此视频播放器中嵌套了一个按钮,我想简单地单击它。知道如何选择吗?
await page.waitForSelector('.icon-play');
await page.click('.icon-play');
await page.waitFor(6000);
<a tabindex="-1" href="#" role="button" class="icon-play comp largePlayBtn largePlayBtnBorder" aria-label="Play clip" data-order="1" data-plugin-name="largePlayBtn" style="display: block;"></a>
【问题讨论】:
【参考方案1】:不久前我遇到了同样的问题。图片中的嵌套链接。
这是因为元素需要在视觉上可点击。您可以使用htmlElement.click()
执行一个简单的javascript 点击操作来绕过puppeteer 点击操作。
page.$eval(`HTMLElementSelector`, element =>
element.click()
),
当您单击链接时,这意味着您希望将其包含在承诺中的导航。像这样的东西应该可以解决问题。
await Promise.all([
page.$eval(`HTMLElementSelector`, element =>
element.click()
),
await page.waitForNavigation(),
]);
【讨论】:
以上是关于puppeteer 触发点击按钮不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Jquery .animate() 在我第二次触发它时不起作用
Puppeteer Ubereats.com 表单输入不起作用