如何使用 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