木偶师被挡为无头机器人:真,但未被无头阻挡:假



我有一个脚本,应该打开一个无头浏览器,进行搜索,并截取屏幕截图。

当我使用headless: false运行脚本时,一切正常。

当我用headless: true运行它时,我被网站(验证码)阻止了。

我知道有办法绕过验证码,但这不是我想要的。

我的问题是这两种模式的区别是什么,网站将我识别为无头浏览器,但当它不是无头浏览器时,它不会。

我尝试过的事情:

  • 通过chrome检查
  • 通过通知检查
  • 设置语言头
  • 插入新的用户代理和其他不同的参数,如:
'--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',
'--window-size=1920,1080',
'--no-sandbox',
'--disable-gpu',
'--no-zygote',
'--disable-setuid-sandbox',
'--disable-accelerated-2d-canvas',
'--disable-dev-shm-usage'

我使用的是最新的puppeteer版本(10.1.0),'puppeteer-extra-plugin-stealth'和'puppeteer-extra'。

无头false:

这将是一个正常的Auto UI测试,它启动chrome浏览器,你可以看到chrome浏览器窗口是打开的

无头true:

把所有的东西都当作uitest来运行。但是,这次它没有打开chrome浏览器的物理,它只运行在命令行,所以没有chrome窗口是打开这次。当您不想在自动运行环境中看到时,这是非常方便的。

相关内容

  • 没有找到相关文章

最新更新