Select 文本选项,而不是 puppeteer 的值
Select option by text, not by value with puppeteer
目标URL:http://www.supremenewyork.com/shop/jackets/uaxjeqvro/fm9kozqa6
目标元素:#s
问题:无法 select 下拉列表中的值。我已经尝试了很多事情,我在 Stack Overflow 上唯一能找到的相关问题是,[ 但是这些答案中的 none 描述了如何通过元素的文本 select 选项而不是期权的价值。
这应该可以,在 1.7.0 版本上测试过
https://try-puppeteer.appspot.com/
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();
目标URL:http://www.supremenewyork.com/shop/jackets/uaxjeqvro/fm9kozqa6
目标元素:#s
问题:无法 select 下拉列表中的值。我已经尝试了很多事情,我在 Stack Overflow 上唯一能找到的相关问题是,[
这应该可以,在 1.7.0 版本上测试过 https://try-puppeteer.appspot.com/
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();