【发布时间】:2020-08-24 14:58:17
【问题描述】:
我对 puppeteer 很陌生,并且一直在尝试点击一个元素。图中,也就是“i”元素,我要点击。
当我尝试单击它时,我收到错误消息“节点不可见或不是 HTMLElement”。我猜它是不可见的,因为它前面有 nb 空间。
还有办法点击吗?当我手动点击它时,它可以工作,所以我认为puppeteer也可以做到?
谢谢, 本尼
【问题讨论】:
-
你能显示一些代码吗?
我对 puppeteer 很陌生,并且一直在尝试点击一个元素。图中,也就是“i”元素,我要点击。
当我尝试单击它时,我收到错误消息“节点不可见或不是 HTMLElement”。我猜它是不可见的,因为它前面有 nb 空间。
还有办法点击吗?当我手动点击它时,它可以工作,所以我认为puppeteer也可以做到?
谢谢, 本尼
【问题讨论】:
经过相当多的测试,我找到了一种点击它的方法。首先,这不起作用:
page.click(selector)
这引发了之前指定的错误。
现在起作用的是:
page.evaluate(function (selector) {
const elements = document.querySelectorAll(selector);
elements.forEach((element) => {
element.click();
});
}, selector);
不确定为什么该元素会多次出现。它应该只出现一次。
我不是 puppeteer 方面的专家,但很高兴这能奏效。也许它可以帮助别人。
【讨论】: