Javascript 使用Puppeter按文本而不是按值选择选项

Javascript 使用Puppeter按文本而不是按值选择选项,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,目标URL: 目标元素:s 问题:无法从下拉列表中选择值。我尝试了多种方法,在Stack Overflow上我能找到的唯一相关问题是这个,[但这些答案都没有描述如何通过元素的文本而不是选项的值来选择选项。这应该是可行的,在1.7.0版上进行了测试 你使用的是哪一版本的木偶剧,不同版本的木偶剧有很大的不同。最新的我相信,1.7.0有没有一种没有值的方法?比如通过文本?这是一个有趣的链接!对不起,如果我没有明确说明,这些值是动态的,并且不是每个产品都一样,但是中、大的尺寸名称是相同的。因此它更为方

目标URL:

目标元素:s


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

这应该是可行的,在1.7.0版上进行了测试


你使用的是哪一版本的木偶剧,不同版本的木偶剧有很大的不同。最新的我相信,1.7.0有没有一种没有值的方法?比如通过文本?这是一个有趣的链接!对不起,如果我没有明确说明,这些值是动态的,并且不是每个产品都一样,但是中、大的尺寸名称是相同的。因此它更为方便我很感激你的帮助!Np!每天学习新东西,这帮助我更加熟悉木偶演员:有没有其他方法可以联系到你,我还有一个问题:pYou可以发布另一个问题,然后在评论中链接到这里!或者只要在这里问它,如果它是基本的。还有,既然你是新的w、 你可以将一个问题标记为已接受,如果你觉得有帮助的话,可以投票表决。
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();