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

如何使用Puppeteer获取选中<option>的文本(而非value值)

解决方法

以下是几种可靠的方式获取选中<option>的文本内容:

方法1:通过page.evaluate在浏览器上下文直接获取

直接在页面DOM环境中操作,是最直观的实现方式:

const selectedText = await page.evaluate(() => {
  const select = document.getElementById('choose1');
  return select.options[select.selectedIndex].text;
});
console.log(selectedText); // 输出 "Value 2"

方法2:使用page.$eval简化操作

通过选择器定位select元素,在回调中直接获取选中项文本:

const selectedText = await page.$eval('#choose1', el => el.options[el.selectedIndex].text);
console.log(selectedText);

方法3:修正选择器获取选中<option>

如果想用option:selected选择器,配合page.$eval执行即可规避无效选择器的问题:

const selectedText = await page.$eval('#choose1 option:selected', el => el.textContent);
console.log(selectedText);

方法4:通过已知选中值反向匹配<option>

既然已经知道选中的value是val2,可以直接定位对应option取文本:

const selectedText = await page.$eval('#choose1 option[value="val2"]', el => el.textContent);
console.log(selectedText);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 19:25:19