傀儡师--点击通知后面的按钮。

问题描述 投票:0回答:1

Puppeteer 2.1.0jest-puppeteer 4.4.0Win 10 64bit正式版。

我有这种情况 https:/i.imgur.comJbcQAhB.png。

我想点击绿色按钮,但通知书挡住了我的去路。

我的代码。

selector = "//main/div[1]/div[2]/button[1]"
await page.waitForXPath(selector)
const elementHandle = await page.$x(selector)
await elementHandle[0].click() 

这段代码不能点击按钮,我知道是通知,因为如果在点击()之前,我放了一个waitFor(5000),然后手动关闭通知,就可以了

我也在chrome控制台直接这样试了一下,前面的通知就很好用。

$x("//main/div[1]/div[2]/button[1]")[0].click()

而且这种代码应该适用于无头模式,所以通知是 "在前 "应该不会有问题。

可能的问题。

  • 你在用无头模式吗?是的,我必须使用。我正在使用chrome扩展进行测试。
  • 使用Xpath代替选择器?是的,我也没有选择,我必须使用xpath。
  • 为什么不关闭通知?这可能是可行的(实际上对于这种特殊情况确实如此),但这并不是唯一一个弹出的通知,更多的通知会出现,并且会把其他类似的按钮搞乱。我需要点击通知后面的按钮

谢谢!

button automation notifications puppeteer
1个回答
0
投票

我找到了一个方法,我只是改变了 await elementHandle[0].click() 对于 await page.evaluate(x=>x.click() , elementHandle[0])

我把问题留在这里,希望有人觉得有用。

© www.soinside.com 2019 - 2024. All rights reserved.