Firefox 88的最新版本包括一个bug fix,如果浏览器是通过木偶协议运行的,则用户无法将navigator.webdriver属性设置为false。不幸的是,如果站点使用Cloudflare的DDOS防护之类的服务(该服务在远程浏览器上检查该属性,并陷入无休止的循环而不是重定向到请求的页面),这实际上会使某些web刮取活动变得不可能
现在有没有人知道一种替代方法,比如
profile.set_preference("dom.webdriver.enabled", False)
或
profile.set_preference("useAutomationExtension", False)
现在没有效果了
具体来说,我将Selenium与Python绑定一起使用,但我认为使用任何框架的解决方案都可以根据我的情况进行转换
我尝试向Firefox添加扩展,在加载任何其他脚本之前覆盖navigator.webdriver。它似乎不仅与navigator.webdriver有关,还与其他方面有关
我在document_start上执行了以下代码
script = document.createElement("script"); script.type = 'text/javascript'; script.id = "scripttttttt"; script.innerHTML = "Object.defineProperty(navigator, 'webdriver', {get: () => undefined});document.getElementById('scripttttttt').remove();"; document.documentElement.prepend(script);
这足以打开https://ebay-kleinanzeigen.de/m-einloggen.html,但不足以登录到Google帐户
您可以停止firefox更新到版本88。为此,请执行以下任务
删除firefox版本88(如果已更新/安装)
sudo-apt-get-purge-firefox
删除firefox配置文件(如果仍然存在)
rm-rf~/.mozilla/
从缓存中搜索firefox旧版本
apt缓存显示firefox | grep版本
安装除88以外的所需版本
sudo apt get install firefox=desiredversion
例如:
sudo apt get install firefox=75.0+build3-0ubuntu1
创建一个文件policies.json,其中包含以下位置的策略:/usr/lib/firefox/distribution。这将停止对版本88的强制更新
}
打开firefox goto
about:config
,点击我接受风险或它显示的任何内容搜索
app.update.auto
并将其切换到False
最后检查版本以确认
相关问题 更多 >
编程相关推荐