繁体   English   中英

通过文本选择选项,而不是通过 puppeteer 的值

[英]Select option by text, not by value with puppeteer

目标网址: http : //www.supremenewyork.com/shop/jackets/uaxjeqvro/fm9kozqa6

目标元素:#s

问题:无法从下拉列表中选择值。 我已经尝试了多种方法,只有在 Stack Overflow 上我能找到的相关问题是这个,[ 如何从下拉列表中选择一个选项,但这些答案都没有描述如何通过元素的文本而不是元素的值来选择选项选项。

这应该有效,在https://try-puppeteer.appspot.com/上使用 1.7.0 版进行测试

const browser = await puppeteer.launch();

const page = await browser.newPage();
await page.goto('http://www.supremenewyork.com/shop/jackets/uaxjeqvro/fm9kozqa6');

let $elemHandler = await page.$('#s');
let properties = await $elemHandler.getProperties();
for (const property of properties.values()) {
  const element = property.asElement();
  if (element){
    let hText = await element.getProperty("text");
    let text = await hText.jsonValue();
    if(text==="Large"){
       let hValue = await element.getProperty("value");
       let value = await hValue.jsonValue();
      await page.select("#s",value); // or use 58730
      console.log(`Selected ${text} which is value ${value}.`);
    }
  }
}
await browser.close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM