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() 在我第二次触发它时不起作用

为啥事件触发器在统一 2d 中不起作用?

Puppeteer Ubereats.com 表单输入不起作用

当下个月按钮单击完整日历时触发事件不起作用

用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?

Puppeteer/JQuery:选择器在滚动脚本中不起作用