driver = webdriver.Firefox() 报错 raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}") selenium.common.exceptions.WebDriverException: Message: Service D:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\geckodriver.EXE unexpectedly exited. Status code was: 64
时间: 2024-03-24 17:38:25 浏览: 24
这个错误通常是因为 Firefox 浏览器版本与使用的 geckodriver 版本不匹配导致的。
解决方法有两种:
1. 更新 Firefox 浏览器至最新版本,然后下载对应版本的 geckodriver,将其放在 Python 环境下,并将其路径加入系统环境变量中。
2. 降低 Firefox 浏览器的版本,找到对应版本的 geckodriver 下载并配置环境变量。
你可以先尝试第一种方法,如果还是不行,可以尝试第二种方法。
相关问题
self.driver = webdriver.Chrome(executable_path=self.driver_path, self.driver = webdriver.Chrome(executable_path=self.driver_path,options=self.chrome_options) 检查下代码逻辑
根据你提供的代码片段来看,出现了两个问题。
1. 第一行代码中,你使用了`self.driver_path`作为`executable_path`参数的值。请确保`self.driver_path`变量被正确初始化,并且它指向一个有效的Chrome浏览器驱动程序的路径。
2. 第二行代码中,你引入了一个`options`参数,并将`self.chrome_options`作为其值传递给`webdriver.Chrome`的构造函数。请确保`self.chrome_options`变量被正确初始化,并且它包含了所需的Chrome浏览器选项。
检查一下以上两个变量是否被正确初始化和赋值,以及确认它们的值是否有效。如果问题仍然存在,请提供更多的代码和错误信息,以便我可以更具体地帮助你解决问题。
DeprecationWarning: executable_path has been deprecated, please pass in a Service object self.driver = webdriver.Firefox(firefox_binary=binary,
这个是一个 Python 的 DeprecationWarning 警告,意思是 `executable_path` 参数已经被弃用了,建议使用 `Service` 对象来代替。这个警告出现的原因是因为在你使用 `webdriver.Firefox` 创建浏览器实例时,你传入了 `firefox_binary` 和 `executable_path` 这两个参数,而 `executable_path` 参数已经被弃用了,建议使用 `Service` 对象来代替,可以参考下面的代码:
```
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
s = Service('/path/to/geckodriver')
driver = webdriver.Firefox(service=s)
```
在上面的代码中,`Service` 对象代表了浏览器驱动的服务,你需要指定该服务的路径,然后将该对象传递给 `webdriver.Firefox` 的 `service` 参数即可。