Javascript 如何使用Puppeter单击列表中的特定元素?
这就是我的js代码对于Puppeter的外观Javascript 如何使用Puppeter单击列表中的特定元素?,javascript,html,node.js,puppeteer,google-chrome-headless,Javascript,Html,Node.js,Puppeteer,Google Chrome Headless,这就是我的js代码对于Puppeter的外观 const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless: false, defaultViewport: null, executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', args:[
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false, defaultViewport: null, executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', args:['--start-maximized' ]});
const page = await browser.newPage();
await page.goto('https://www.vegnonveg.com/products/nike-af1-crater-flyknit-blackblack-chambray-blue');
await page.click('#covid-popup > div > div:nth-child(1) > button');
await page.click('body > div.page.bg-grey > div.bg-grey.relative > div.container.pd-v-25 > div.flex.gutter > div.col-12-12.col-xs-5-12 > div > form > div:nth-child(4) > div > div:nth-child(1) > div > div > i');
//await page.click('body > div.page.bg-grey > div.bg-grey.relative > div.container.pd-v-25 > div.flex.gutter > div.col-12-12.col-xs-5-12 > div > form > div.mt-20 > button');
const [button] = await page.$x("//button[contains(., 'ADD TO BAG')]");
if (button) {
await button.click();
}
await page.waitForTimeout(25000);
await browser.close();
})();
选择大小
英国
英国
英国
英国
- 11英国
这是我想使用的网站用户列表中的代码。
这是一个鞋子尺寸的列表,我想选择一个使用木偶演员
由于每个size元素的数据值不同,我希望能够使用这些列表中的文本作为代码
<div class="dropdown ">
<div class="select ">
<span>select size</span>
<i class="arrow-down"></i>
</div>
<ul class="dropdown-menu" style="display: ">
<input type="hidden" name="id" class="variant" id="size" value=""/>
<li data-value="eyJpdiI6IkkydjJIWnB5Q1BLZjJHRzVSd2VBdFE9PSIsInZhbHVlIjoiYXZPZ05saVBSRUszUTFMdWtGKzNqZz09IiwibWFjIjoiNTEzYjdkZTg4MjRlNjhjZWE0ZTNkMWE3ZDAyZWM5MzQ5ODBiMzg4NTZmYjU4YjgyOTRmMDE5YmZjNjgyYWU1MSJ9" >7 UK</li>
<li data-value="eyJpdiI6IlZldVluS2MwenoxNXdFZ25LYmxuOFE9PSIsInZhbHVlIjoianJoaXgwRUJVVk80ZFluKzFnQTl1QT09IiwibWFjIjoiYTI5NjdiZTRiZDU4MjEwYmM2YjY3OGU0NDJlNGRjOTQ2ODVlODc4YjJkYzI1ODgyNTZkZTRlODAxZjhjMjE0ZCJ9" >8 UK</li>
<li data-value="eyJpdiI6IlMwTEh4ZlNHWUtYYlk3eVgxbGs3b3c9PSIsInZhbHVlIjoiMXVrRWlseTZ5MVMydFBXSnRpYmJqUT09IiwibWFjIjoiN2YwYTFmMDg4NDI1NzM5MjYzYmJkNmM1MTFjYjMyMWY2NDJlMzFhNzAzNGMzYzUxMDcyN2Q0NGM4ODcwNmFiOCJ9" >9 UK</li>
<li data-value="eyJpdiI6Ik9kOElvdkVoQUdyckx5WkJNdWNuQ3c9PSIsInZhbHVlIjoiWFBYZzRycEE4ak40TS9Ga3VoakwyQT09IiwibWFjIjoiZjQzOTJmMWMwNDY2ZDMxMDJhYjIyMGM2NTM0NjlmNzFkODg5NDI4Yjc4ZjM3ZWY5ZmRiZDg2ODAwY2ZjYWYxOCJ9" >10 UK</li>
<li data-value="eyJpdiI6Im9ocXFrZXQ5S2x6V3JkK21NVW1xT0E9PSIsInZhbHVlIjoiK0ltMEg1WndObG03b05icHEyVjh1Zz09IiwibWFjIjoiYzkxNjNkMGEzMDU3OWRlNDgyMmU1NTk3MGE5YzQxOTViYTE2NmQ2NjEwOGUwMGJjM2ZhOWU1MDgzMWU3ODY4YyJ9" >11 UK</li>
</ul>
</div>