【问题标题】:puppeteer When use headless falsepuppeteer 当使用 headless false
【发布时间】:2021-01-04 21:05:53
【问题描述】:

我有一个解析特定网页的脚本。 当我设置 headless false 时,puppeteer 不会加载页面

 await page.goto('https://www.google.com', {
            waitUntil: 'load',
            // Remove the timeout
            timeout: 0
        });

我尝试了很多配置,例如:

 const args = [
        '--no-sandbox',
        '--enable-logging',
        ' --v=1',
        '--disable-gpu',
        '--disable-extension',
        '--disable-setuid-sandbox',
        '--disable-infobars',
        '--window-position=0,0',
        '--ignore-certifcate-errors',
        '--ignore-certifcate-errors-spki-list',
        '--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3312.0 Safari/537.36"'
    ];



    const options = {
        args,
        headless: false, // default is true
        userDataDir: "./user_data",
        defaultViewport: null,
        devtools: true,
        ignoreHTTPSErrors: true,
    };

但脚本会停止到await page.goto,直到超时。

【问题讨论】:

    标签: google-chrome-devtools puppeteer chromium


    【解决方案1】:

    据我了解,您解析的不是google.com 页面。 首先应该考虑的是waitUntil: 'load'。它做了什么,当加载事件被触发时,它认为导航已经完成。

    当整个网页 (HTML) 完全加载时触发 load 事件,包括所有依赖资源,例如 JavaScript 文件、CSS 文件和图像。

    这个事件很有可能在你的情况下没有触发合理的超时,所以我建议不要依赖这个waitUntil,而是使用另一个等待,比如某些选择器的存在,例如

    await page.goto('https://www.google.com');
    await page.waitForSelector('[name="q"]');
    

    【讨论】:

    • 感谢回复,我也遇到了同样的问题,页面无法加载
    • 您的意思是在您的环境中,即使await page.goto('https://www.google.com') 也会因导航超时错误而失败?
    • console.log("0") await page.goto('google.com') console.log("1") 我只能看到 console.log("0")。我怎样才能有日志?
    • 你有哪些版本的 puppeteer 和 chrome?你真的有你在用户代理中指定的旧 chrome 版本吗?另外,你能说一下什么是 HeadlessChrome 版本吗?在打开页面之前只需console.log(await page.browser().version());。有可能是兼容性问题github.com/puppeteer/puppeteer/blob/main/docs/api.md
    • HeadlessChrome/86.0.4240.0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 2018-07-24
    • 2019-09-04
    • 2018-08-07
    • 2018-06-12
    • 1970-01-01
    • 2022-07-15
    相关资源
    最近更新 更多