关于selenium库浏览器webdriver不能被找到的问题(firefox)——NoSuchDriverException

一、链接

火狐的各历史版本: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/

二、安装驱动及调用(以火狐为例)

  1. 首先可以去链接提供的地址下载火狐的驱动
    注意:仔细阅读驱动的文档,不要随便下载,驱动版本要和火狐浏览器的版本对应,否则会报错
  2. 下载对应版本的火狐浏览器
  3. 再把驱动放在相应浏览器的根目录下,并添加到环境变量PATH中
    在这里插入图片描述
  4. 调用(还需要下载selenium包)
    from selenium import webdriver
    browser = webdriver.Firefox() //selenium4之前的调用
    browser.get(url)
    browser.close() //关闭浏览器
  5. 按照以上的步骤进行操作一般是没有问题。

三、代码报错:NoSuchDriverException

随后再使用selenium爬虫的时候发现,发现原来能用的firefox 突然就报错说用不了
一般有以下原因,大家可以一一对应:

  1. 浏览器版本和驱动版本对应不上。可能有人会问那我原来为什么可以成功呢?大概率是因为你的浏览器自动升级了,可以点击浏览器右上角三条横线处->帮助->关于firefox查看浏览器版本,如果已经更新到最新版本就需要你重新下载原版本的浏览器了(注意标签这些重要内容导出了之后再卸载)。
    那么如何解决浏览器自动更新?可以点击浏览器右上角三条横线处->设置->常规处。
  2. 驱动位置。驱动需要放在相应浏览器的根目录下,并添加到环境变量PATH中。
  3. 驱动下载错误(可能你的版本下载对了,但驱动的类型下载错误),导致有时selenium代码可以执行,有时突然不能执行。
    在这里插入图片描述当你直接点击geckodriver.exe时,如果出现上图提示,那么恭喜你,我们遇见的问题一模一样,下载驱动时候粗心了!请前往链接所提供的地址中,重新下载驱动。
    在这里插入图片描述注意下载对应你电脑系统类型的驱动!!!
  4. 使用 python selenium 调用驱动时,总是会去github检查驱动的最新版本,但我们又知道内网访问github时而成功,时而失败,当无法访问到github时,也会报错
    解决方法:
    在这里插入图片描述如上图所示,卡卡尝试了下使用selenium4新版的调用,发现似乎解决了检查驱动版本的问题,但不知道为什么。如果有小伙伴知道,可以评论分享,感谢!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值