鱼C论坛

 找回密码
 立即注册
查看: 1912|回复: 2

求助贴,为什么会无法使用Selenium Manager获取firefox的驱动程序。

[复制链接]
发表于 2023-10-30 19:06:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 独行剑客 于 2023-10-30 19:12 编辑

代码是这样的
from selenium import webdriver
import os

path = os.path.dirname(os.path.abspath(__file__))
print(path)
print(type(path))
print(os.path.abspath(__file__))
print(type(webdriver.Firefox))
browser = webdriver.Firefox()      #前面的都没问题,为啥这里运行不了

运行后的结果是这样的
F:\xiangmu3\venv\Scripts\python.exe F:\xiangmu3\venv\5.py
F:\xiangmu3\venv
<class 'str'>
F:\xiangmu3\venv\5.py
<class 'abc.ABCMeta'>
raise NoSuchDriverException(msg) from err                #这里就报错了
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for firefox using Selenium Manager.

firefox 的驱动 geckodriver 也安装了
F:\xiangmu3\venv\geckodriver-v0.33.0-win64>geckodriver
1698663797278   geckodriver     INFO    Listening on 127.0.0.1:4444

这个已经折磨我好几天了,求教
                ┭┮﹏┭┮
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-30 19:07:39 | 显示全部楼层
问题出在你的代码中使用了错误的方式来实例化Firefox浏览器驱动程序。正确的方式是使用webdriver.Firefox()方法来实例化Firefox浏览器对象。

在你的代码中,你打印了webdriver.Firefox的类型,结果显示<class 'abc.ABCMeta'>,这是因为你没有实例化Firefox浏览器对象,而是直接打印了webdriver.Firefox的类型。

要解决这个问题,你需要将以下代码:

print(type(webdriver.Firefox))

替换为:

browser = webdriver.Firefox()

这样,浏览器对象就会被正确地实例化,并且你可以使用browser对象进行后续的操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-30 19:17:09 | 显示全部楼层
本帖最后由 独行剑客 于 2023-10-30 19:20 编辑
isdkz 发表于 2023-10-30 19:07
问题出在你的代码中使用了错误的方式来实例化Firefox浏览器驱动程序。正确的方式是使用webdriver.Firefox() ...



是 browser = webdriver.Firefox() 有问题
                      ┭┮﹏┭┮
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 13:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表