木偶戏:如何通过文本查找元素

时间:2020-11-05 10:10:09

标签: javascript puppeteer

我使用Puppeteer框架来自动化测试。 我需要根据文本查找元素:

await page.focus(//span[contains(text(), 'Name')]])

<span class="some_placeholder">Name</span>
<span class="some_placeholder">Phone Number</span>

但是在这种情况下,会发生以下错误: “评估失败:DOMException:无法对文档”执行'querySelector'是无效的选择器。” span [class ='name']成功找到了一些元素,但只需要一个元素。

focus()接受CSS选择器,不接受contains()或text()方法。

如何正确编码搜索条件?

1 个答案:

答案 0 :(得分:0)

您可以将XPath与page.$x()一起使用,然后调用elementHandle.focus()

const [element] = await page.$x('//span[contains(text(), "Name")]');
await element.focus();