如何在 Puppeteer 中点击文本?

Posted

技术标签:

【中文标题】如何在 Puppeteer 中点击文本?【英文标题】:How to click on text in Puppeteer? 【发布时间】:2021-12-31 19:37:20 【问题描述】:

有什么方法(在API中没有找到)或解决方案可以点击带有文本的元素吗?

例如我有 html

<div class="_5THWM1">flex
<span class="_2i7N3j">Sort By</ span>
<div class="_10UF8M 3LsR0e>Relevance</div>
<div class="_10UF8M">Popularity</div>
<div class-"_10UF8M'>Price -- Low to High</div>
<div class="_10UF8M>Price -- High to Low</div>
<div class="_10UF8M" >Newest First</div>
</div>

我想点击价格——从低到高,但我不知道如何点击,也不知道如何点击文本。有人可以帮我解决这个问题吗?

我正在使用 Puppeteer,请为此编写代码。

【问题讨论】:

如何点击一个元素是clearly documented。问题是找到元素吗? 这能回答你的问题吗? How to click on element with text in Puppeteer 【参考方案1】:

不是,但你可以使用 xpath 或者你可以使用 find:

page.$$eval('div', divs => divs.find(div => div.innerText.match(/some text')).click())

【讨论】:

以上是关于如何在 Puppeteer 中点击文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Puppeteer 将文本输入到 Flash TextArea 中?

是什么原因让华为测试工程师都说puppeteer比selenium好呢?

Node Js & Puppeteer - 如何选择包裹在 Anchor 标签内的文本

已在Puppeteer中定义函数后如何调用该函数

puppeteer的使用

如何使用 Puppeteer 在网站上单击没有任何类、id 等的按钮?