一、链接
火狐的各历史版本:https://ftp.mozilla.org/pub/mozilla.org//firefox/releases/
火狐各驱动历史版本:https://github.com/mozilla/geckodriver/releases/
谷歌驱动的各历史版本:https://registry.npmmirror.com/binary.html?path=chromedrive/
谷歌浏览器的历史版本:https://downzen.com/en/windows/google-chrome/versions/
二、安装驱动及调用(以火狐为例)
首先可以去链接提供的地址下载火狐的驱动注意:仔细阅读驱动的文档,不要随便下载,驱动版本要和火狐浏览器的版本对应,否则会报错下载对应版本的火狐浏览器再把驱动放在相应浏览器的根目录下,并添加到环境变量PATH中
调用(还需要下载selenium包)
from selenium import webdriver
browser = webdriver.Firefox() //selenium4之前的调用
browser.get(url)
browser.close() //关闭浏览器按照以上的步骤进行操作一般是没有问题。
三、代码报错:NoSuchDriverException
随后再使用selenium爬虫的时候发现,发现原来能用的firefox 突然就报错说用不了
一般有以下原因,大家可以一一对应:
那么如何解决浏览器自动更新?可以点击浏览器右上角三条横线处->设置->常规处。驱动位置。驱动需要放在相应浏览器的根目录下,并添加到环境变量PATH中。驱动下载错误(可能你的版本下载对了,但驱动的类型下载错误),导致有时selenium代码可以执行,有时突然不能执行。
当你直接点击geckodriver.exe时,如果出现上图提示,那么恭喜你,我们遇见的问题一模一样,下载驱动时候粗心了!请前往链接所提供的地址中,重新下载驱动。
注意下载对应你电脑系统类型的驱动!!!使用 python selenium 调用驱动时,总是会去github检查驱动的最新版本,但我们又知道内网访问github时而成功,时而失败,当无法访问到github时,也会报错
解决方法:
如上图所示,卡卡尝试了下使用selenium4新版的调用,发现似乎解决了检查驱动版本的问题,但不知道为什么。如果有小伙伴知道,可以评论分享,感谢!!!