selenium之Chromedriver更换geckodriver遇到的问题

作者在尝试使用火狐驱动代替谷歌驱动时遇到了网页显示空白的问题。经过排查,确定不是浏览器、驱动版本或电脑环境问题,而是网站可能进行了selenium检测。尝试了不同方法后,最终发现是火狐驱动版本与火狐浏览器版本不匹配导致的。解决方案是找到与当前火狐版本对应的geckodriver版本下载并使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        记录一下自己有谷歌驱动更换到火狐驱动遇到的问题        

因为之前都是使用谷歌驱动,对于火狐了解甚少(几乎就没有用过,尴尬),早上醒来使用谷歌驱动打开目标网站的时候竟然是显示空白网页,刚开始还没有在意,以为是谷歌浏览器自动更新了,简单的以为更新一下最新驱动就可以了,但是现实狠狠抽了我一巴掌,还是我太年轻,显然是我想的简单了。

第一时间想到的存在问题的可能性:

1.谷歌驱动版本问题

2.自身运行环境被污染

3.网站自身无法打开

4.电脑谷歌问题

5.网站做了升级,对谷歌驱动进行检测限制

最后发现谷歌版本竟然没有更新,我抱着怀疑的态度重新去官网(http://chromedriver.storage.googleapis.com/index.html)下载更新,最后打开网站还是显示空白。

这个时候我就在想是不是网站本身就显示空白,但是我正常使用谷歌打开网站的时候,竟然丝滑的打开了,这就让我感到怀疑了。

难道是我运行环境被污染了吗(自我怀疑),打开另外一台电脑竟然也是这样。没有办法于是疯狂的问度娘,最后得到的答案就只有一个【驱动版本不对】,到这里我还特意去试了一下baidu.com。不出意外,果然竟然可以正常打开。显然到这里已经除了第五条可能,其他全部排除了。

这时候在想应该是网站做了selenium检测,通常的话就是检测chromedriver.exe的特征码:$cdc_asdjflasutopfhvcZLmcfl_和js检测window.navigator.webdriver这个属性,如果用selenium调用浏览器这个值会是true,手动打开浏览器这个值是false;可以通过浏览器的console输入console.log(window.navigator.webdriver)查看该属性的值(具体操作的话可以看:https://www.cnblogs.com/baskbug/p/16902797.html

一顿操作猛如虎,最后还是老样子显示空白,由于本人技术有限,那只能是更换驱动看一下喽。一开始是用的老IE,最后惊喜发现可以正常打开,但是忽然想起来老版本IE无法满足特性要求, 那只能是更换火狐了。谷歌玩的一般,但是火狐是真的就只是听说而已。那只能是百度。网上一大堆教程,简单概括就是:下载对应版本就欧克了,但是网页翻译工具谷歌翻译停止了中国区服务,也看不懂英文。

以下是大致教程:

 下载地址:Releases · mozilla/geckodriver · GitHub 

需要核实火狐版本:地址栏输入:about:preferences#searchResults ---在搜索版本

 遇到最大的问题是:火狐版本对应驱动版本,这个是我看所有教程都没提及到的(看了无数教程,哭死)

打开 :Releases · mozilla/geckodriver · GitHub 

一般来说,最上面的驱动下载链接对应应该是最新的火狐版本,但是如果是在官网下载的火狐并不是最新版本的,如上如图我版本就是111的版本,但是现在驱动已经更新到不低于113了(具体版本我也不清楚,尴尬)。如果想要找到对应版本,需要具体看官网的详解(Added)

                这段话就表示:所需的Firefox最低版本为113.0

同理可以找到自己驱动版本

 最后找到Assets对应位数下载就哦了

 最后那位大佬帮忙看一下这个网站检测 谷歌驱动用是什么原理吗---小弟感激不尽

bs64:aHR0cDovL3p4Z2suY291cnQuZ292LmNuL3poenhnay8=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值