开发者问题收集

如何使用 xPath 单击 Puppeteer 中的元素

2019-09-24
41877

我想在不使用 css 选择器的情况下点击一个元素。

await page.click()

使用选择器来识别元素。


那么我该怎么做呢?

await page.click('/*[@id="toc"]/ul/li[1]/a')
3个回答

首先我必须使用

await page.$x('<xPath>')
获取元素

它返回一个包含元素的数组。要单击,我必须选择数组中的第一个元素。

const elements = await page.$x('<xPath>')
await elements[0].click() 
Jozott
2019-09-24

您可以在 puppeteer 19 及更新版本中使用 xpath 前缀

await page.click('xpath/' + xpathExpression)

例如

await page.click('xpath//*[@id="toc"]/ul/li[1]/a')
weeix
2023-01-11
const click = await page.waitForXPath('/html/body/div[1]/div[2]/div[1]/div/div[3]/div/div/div[1]/div[1]/table/tbody/tr[1]/td[1]/a[2]')
 click.click();
Xiter CFAL
2023-05-05