Puppeteer 错误错误:节点不可见或不是 HTMLElement

时间:2021-05-25 09:44:27

标签: node.js puppeteer

我是 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();
})();

顺便说一下,我想点击蓝色标签: https://i.stack.imgur.com/R8vEV.png

1 个答案:

答案 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

让我知道这是否有效。我在这里看不到任何问题:)