Puppeteer中如何点击ul内的li元素?新手求助
Puppeteer点击ul内li元素的正确方法
你的代码无法运行核心是选择器语法错误,另外建议加上元素等待确保操作时机正确,具体修正如下:
原代码的问题
- 选择器
#ul.sl_general错误:#是ID选择器,这里ul是标签名,.sl_general是类名,正确写法是ul.sl_general(表示类为sl_general的ul标签) :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
相关产品推荐
相关产品推荐

