我要选择并单击下一个同级html代码中指定的<a>
下方:
<ul>
<li>
<a></a>
</li>
<li>
<a></a>
</li>
<li class='abc'>
<a></a>
</li>
<li>
<a></a> <!-- I want to click this link -->
</li>
</ul>
<ul>
正在变化,但<li class='abc'>
却没有变化
并使用以下代码:
let tag = await page.evaluate(() => {
return document.querySelector('li.abc').nextSibling.a
})
console.log(tag?'Y': 'N')
// await page.click(tag)
然后输出'N'
有人可以帮助我解决此错误吗? 预先感谢!
答案 0 :(得分:0)
从Dave Batiste(puppeteer.slack.com的用户)那里得到了这个答案,
感谢@Vaviloff指出:我应该发布此答案。
使用代码page.click('.abc + li > a')
可以单击我想要的指定的<a>
,
和Dave Batiste(puppeteer.slack.com的用户)提供了更多信息,如下所示:
如果您确实希望可以调用方法的句柄,那么我想您会对>
page.$
...const handle = await page.$(selector); handle.click(options);