我是 Puppeteer 的新手(使用 JS)。
我搜索并测试了一堆解决方案,包括 await
等。
但我仍然无法选择并单击我想要的位置。 (填充输入工作正常)
(PS:我正在尝试自动填充此网站供个人使用)
如果你想重现它,我的代码:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false, slowMo: 50 });
const page = await browser.newPage();
await page.goto('https://www.eatthismuch.com/');
//Menu Vege
await page.click('#main_container > div > div.home_generator_box.container > div.row.generator_header_div > div.generator_header.col-12.col-md-10.offset-md-1.col-lg-8.offset-lg-2 > div.preset_selector_div > ul > li:nth-child(3) > a')
//Iam not sure
page.click('#not_sure_button')
await page.waitForNavigation();
page.click('#c56_goal > label:nth-child(1)')
//Prefered unit
await page.$eval('#height-secondary', el => el.value = '180');
await page.$eval('#weight', el => el.value = '70');
await page.$eval('#age', el => el.value = '22');
await browser.close();
})();
答案 0 :(得分:0)
你做得很好。
你的脚本也没有问题。
您只需要在点击 await
按钮时 Lose weight
。
像这样将是最终的脚本:
//Menu Vege
await page.click('#main_container > div > div.home_generator_box.container > div.row.generator_header_div > div.generator_header.col-12.col-md-10.offset-md-1.col-lg-8.offset-lg-2 > div.preset_selector_div > ul > li:nth-child(3) > a')
//Iam not sure
await page.click('#not_sure_button')
await page.evaluate(()=>document.querySelector('input[value=L]').click())
//Prefered unit
让我知道这是否有效。我在这里看不到任何问题:)