问题:
Puppeteer 是否可以根据文本内容单击元素,即使有没有唯一标识符?
简短回答:
是的,您可以使用 XPath 表达式单击包含特定文本的元素。
说明:
XPath 提供了一种根据各种条件(包括其文本内容)查询元素的方法。以下是如何在 Puppeteer 中使用它:
<code class="js">const [button] = await page.$x("//button[contains(., 'Button text')]"); if (button) { await button.click(); }</code>
此表达式选择页面中包含文本“按钮文本”的第一个按钮元素。
同时确保按钮位于类为“elements”的元素,将以下内容添加到 XPath 表达式中:
<code class="js">const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]");</code>
为什么不使用 text()?
以上是Puppeteer 可以根据文本内容单击元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!