【问题标题】:Chrome headless loades page differently than normal ChromeChrome 无头加载页面与普通 Chrome 不同
【发布时间】:2020-03-31 04:37:05
【问题描述】:

我有一个简单的脚本来使用 Puppter 抓取网页停止工作,所以我开始调试。

我发现如果我通过将 headless 选项设置为 true 来启动我的脚本,我的脚本可以按预期工作。

所以我保存了页面内容和屏幕截图,发现它们确实与加载页面时将 headless 设置为 false 时有所不同。

我已启用加载和执行 JavaScript。看起来页面可以检测它是否以无头模式加载并且可以呈现/表现不同。

如果我的脚本中存在错误或该网页确实可以检测到无头浏览器,您知道如何进行故障排除吗?

【问题讨论】:

    标签: puppeteer google-chrome-headless


    【解决方案1】:

    在无头模式下启动浏览器时,用户代理更改为HeadlessChrome
    这显然是网页可以检测到的,您需要手动设置用户代理:page.setUserAgent(userAgent)

    启动无头==true:

    Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/80.1.5.115 Safari/537.36
    

    启动无头==false:

    Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      • 1970-01-01
      • 2023-03-27
      • 2013-06-13
      相关资源
      最近更新 更多