Python Selenium:'意外的关键字参数'executable_path'

Leo*_*Leo 4 python firefox selenium-webdriver

我刚刚开始使用seleniumPython,并且不断收到以下错误代码:

TypeError: WebDriver.__init__() got an unexpected keyword argument 'executable_path'
Run Code Online (Sandbox Code Playgroud)

这是上下文的代码:

from selenium.webdriver import Firefox
from selenium.webdriver.common.keys import Keys

url = 'https://example'
driver_path = r"D:\path\to\geckodriver.exe"

browser = Firefox(executable_path=driver_path)
browser.get(url)
Run Code Online (Sandbox Code Playgroud)

提前致谢!

我检查了路径、selenium包的版本并确保我有正确的geckodriver.exe但仍然收到错误。

Mic*_*ntz 5

正如我之前的解决方案/sf/answers/5358550921/中提到的,这是由于以下更改所致selenium 4.10.0: https: //github.com/SeleniumHQ/selenium/commit/9f5801c82fb3be3d5850707c46c3f8176e3ccd8e

Changes_in_selenium_4_10_0

请注意,该内容executable_path已被删除。

如果你想传递一个executable_path,你现在必须使用servicearg 。

from selenium import webdriver
from selenium.webdriver.firefox.service import Service

service = Service(executable_path="PATH_TO_GECKODRIVER")
options = webdriver.FirefoxOptions()
driver = webdriver.Firefox(service=service, options=options)
# ...
driver.quit()
Run Code Online (Sandbox Code Playgroud)

executable_path但由于 中的 Selenium Manager 完全可操作,您不再需要指定4.10.0,因此这就是您所需要的:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service

service = Service()
options = webdriver.FirefoxOptions()
driver = webdriver.Firefox(service=service, options=options)
# ...
driver.quit()
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

6114 次

最近记录:

1 年,11 月 前