You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Puppeteer中如何点击ul内的li元素?新手求助

Puppeteer点击ul内li元素的正确方法

你的代码无法运行核心是选择器语法错误,另外建议加上元素等待确保操作时机正确,具体修正如下:

原代码的问题

  1. 选择器#ul.sl_general错误:#是ID选择器,这里ul是标签名,.sl_general是类名,正确写法是ul.sl_general(表示类为sl_general的ul标签)
  2. :last-child(2)不是有效CSS选择器:要选倒数第二个li,应该用:nth-last-child(2);如果是正数第二个li,用:nth-child(2)

修正后的代码示例

情况1:点击ul.sl_general下的倒数第二个li

await page.click('#currentSearchByTop');
// 先等待目标元素加载完成,避免因元素未渲染导致点击失败
await page.waitForSelector('ul.sl_general li:nth-last-child(2)');
await page.click('ul.sl_general li:nth-last-child(2)');

情况2:点击ul.sl_general下的第二个li

await page.click('#currentSearchByTop');
await page.waitForSelector('ul.sl_general li:nth-child(2)');
await page.click('ul.sl_general li:nth-child(2)');

额外提示

如果元素是动态生成的,仅用page.click可能会因为元素未就绪报错,page.waitForSelector会等待元素出现在DOM中并可见,能大幅提升操作稳定性。

内容的提问来源于stack exchange,提问作者Park

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:24:04