硒没有属性

selenium has no attribute

提问人:hugh hugh 提问时间:11/16/2023 最后编辑:petezurichhugh hugh 更新时间:11/16/2023 访问量:43

问:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.google.com")
driver.quit()

当我尝试运行此代码时,出现如下错误:

AttributeError: 'str' object has no attribute 'capabilities' in  "driver = webdriver.Chrome(ChromeDriverManager().install())"

我尝试用硒打开谷歌,但我无法打开,我无法修复它。

python selenium-web驱动程序

评论


答:

1赞 Shawn 11/16/2023 #1

您需要在最新的 selenium 版本中使用服务类来传递驱动程序可执行文件路径或设置。请参阅下面的代码。ChromeDriverManager

更改代码,如下所示:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

driver.get("https://www.google.com")

driver.quit()

建议:如果您使用的是最新的 selenium 版本,则有一种更简单的方法来处理浏览器驱动程序。您不需要像 这样的第三方库。Selenium 的内置工具 Selenium Manager 可以做以前做的事情。ChromeDriverManagerChromeDriverManager

代码可以像以下简单一样简单:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
driver.quit()
0赞 Bibhav 11/16/2023 #2

从代码中删除将起作用。ChromeDriverManager().install()

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome()

driver.get("https://www.google.com")

driver.quit()
注意:请务必用于获取最新版本,因为这适用于 seleniumpip install -U selenium<=4.10