我可以在 Puppeteer 的 page.type 上使用 XPath 表达式而不是 CSS 选择器吗?

Hyp*_*ion 3 javascript xpath css-selectors node.js puppeteer

现在的代码:

await page.type('#filterdataTable > div.widget > input', "1234");
Run Code Online (Sandbox Code Playgroud)

我可以使用 XPath 代替这个 CSS 选择器吗?

Gra*_*ler 8

您可以使用page.$x()来获取ElementHandle要选择的元素的 。

然后您可以使用elementHandle.type()input字段中键入文本。

const example = await page.$x('//*[@id="filterdataTable"]/div[contains(concat(" ", normalize-space(@class), " "), " widget ")]/input');
await example[0].type('1234');
Run Code Online (Sandbox Code Playgroud)