浏览器问题 = webdriver.Firefox()
Posted
技术标签:
【中文标题】浏览器问题 = webdriver.Firefox()【英文标题】:problem with browser = webdriver.Firefox() 【发布时间】:2020-11-17 02:30:53 【问题描述】:我的代码(来自例如这里https://pypi.org/project/selenium/)
从硒导入网络驱动程序
浏览器 = webdriver.Firefox()
错误 回溯(最近一次通话最后): 文件“C:\Users\saltlake\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\common\service.py”,第 72 行,开始 self.process = subprocess.Popen(cmd, env=self.env, init 中的文件“C:\Users\saltlake\AppData\Local\Programs\Python\Python38\lib\subprocess.py”,第 854 行 self._execute_child(args, 可执行文件, preexec_fn, close_fds, _execute_child 中的文件“C:\Users\saltlake\AppData\Local\Programs\Python\Python38\lib\subprocess.py”,第 1307 行 hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] 系统找不到指定的文件
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 文件“D:\Project\python-work\website.py”,第 3 行,在 浏览器 = webdriver.Firefox() init 中的文件“C:\Users\saltlake\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\firefox\webdriver.py”,第 164 行 self.service.start() 文件“C:\Users\saltlake\AppData\Local\Programs\Python\Python38\lib\site-packages\selenium\webdriver\common\service.py”,第 81 行,开始 引发 WebDriverException( selenium.common.exceptions.WebDriverException:消息:“geckodriver”可执行文件需要在 PATH 中。
有人知道这个问题/修复了吗?
【问题讨论】:
【参考方案1】:您收到此错误是因为您没有用于 firefox 的 selenium Web 驱动程序。
要获取它,请访问网站https://github.com/mozilla/geckodriver/releases
下载适合你操作系统的版本。
解压
将提取的文件放在运行此脚本的同一目录中。
即您的“website.py”文件必须与提取的文件位于同一目录中
中提琴!!!
【讨论】:
@Maahi 如果这解决了您的问题,您可以接受答案,以便其他人将来可以轻松找到解决方案。谢谢。【参考方案2】:这里的错误是因为无法使用 firefox 网络驱动程序。
有两种方法可以获得驱动程序,
访问此网站Firefox web driver for python,并下载最新版本的网络驱动程序,但这将帮助您仅在您的语言环境中运行代码,每次您在另一台机器上运行代码时,它都会要求重写路径你会给网络驱动程序。如果您没有在项目文件夹中包含 .exe 文件。
更好的方法是熟悉webdriver manager python,它可以使您的代码更加可移植和健壮,从而帮助您自动设置所需的驱动程序。这种方法将帮助您从一开始就编写高效的代码。
【讨论】:
以上是关于浏览器问题 = webdriver.Firefox()的主要内容,如果未能解决你的问题,请参考以下文章
使用 selenium-webdriver/firefox (NodeJS) 设置 userAgent