我使用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()方法。
如何正确编码搜索条件?
答案 0 :(得分:0)
您可以将XPath与page.$x()
一起使用,然后调用elementHandle.focus()
:
const [element] = await page.$x('//span[contains(text(), "Name")]');
await element.focus();