我有一个简单的脚本来使用Puppter爬行停止工作的网页,所以我开始调试。
我发现如果我通过将无头选项设置为true来启动脚本,我的脚本就可以像预期的那样工作。
因此,我保存了页面内容和截图,我发现它们与加载无头设置为false的页面确实不同。
我已经启用了加载和执行JavaScript。看起来,该页面可以检测它是否以无头模式加载,并且呈现/行为不同。
如果我的脚本中有错误,或者那个网页真的可以检测到无头浏览器,你知道如何排除故障吗?
发布于 2020-03-31 07:54:28
当以无头模式启动浏览器时,用户代理将更改为HeadlessChrome
。
显然,这就是网页所能检测到的,您需要使用:page.setUserAgent(userAgent)手动设置用户代理。
启动headless==true:
Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/80.1.5.115 Safari/537.36
启动headless==false:
Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
https://stackoverflow.com/questions/60943545
复制相似问题