如何正确配置Chrome Driver路径?解决Selenium初始化报错
问题:Selenium初始化Chrome驱动时出现AttributeError错误
我正在开发一款网页自动化爬虫,用于抓取网站数据构建数据模型,使用以下代码初始化WebDriver:
import selenium from selenium import webdriver from selenium.webdriver.common.keys import Keys import pandas as pd driver = webdriver.Chrome('/Users/dell/Downloads/chrome-win64')
运行时出现如下报错:
PS C:\Users\dell\Desktop\first> & c:/Users/dell/Desktop/first/.venv/Scripts/python.exe c:/Users/dell/Desktop/first/second.py Traceback (most recent call last): File "c:\Users\dell\Desktop\first\second.py", line 6, in <module> driver = webdriver.Chrome('/Users/dell/Downloads/chrome-win64') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dell\Desktop\first\.venv\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in __init__ super().__init__( File "C:\Users\dell\Desktop\first\.venv\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 50, in __init__ if finder.get_browser_path(): ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dell\Desktop\first\.venv\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 47, in get_browser_path return self._binary_paths()["browser_path"] ^^^^^^^^^^^^^^^^^^^^ File "C:\Users\dell\Desktop\first\.venv\Lib\site-packages\selenium\webdriver\common\driver_finder.py", line 56, in _binary_paths browser = self._options.capabilities["browserName"] ^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'str' object has no attribute 'capabilities'
解决方案
错误原因
Selenium 4.x版本后,webdriver.Chrome()的第一个参数不再接收驱动路径字符串,而是需要传入ChromeOptions对象;驱动路径需通过Service对象指定。直接传字符串会被程序误认为是options对象,因此触发找不到capabilities属性的错误。另外你写的是类Unix格式路径,但运行环境是Windows,路径格式错误,且需指向chromedriver.exe文件而非文件夹。
方法1:使用Service对象指定驱动路径
修改代码如下,替换为Windows系统下正确的chromedriver.exe路径:
import selenium from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.keys import Keys import pandas as pd # Windows下的正确路径示例,需指向chromedriver.exe文件 service = Service('C:/Users/dell/Downloads/chrome-win64/chromedriver.exe') driver = webdriver.Chrome(service=service)
方法2:配置环境变量(推荐)
将chromedriver.exe所在的文件夹路径添加到系统环境变量PATH中,之后无需在代码中指定路径,直接初始化即可:
import selenium from selenium import webdriver from selenium.webdriver.common.keys import Keys import pandas as pd driver = webdriver.Chrome()
内容的提问来源于stack exchange,提问作者shakti khinchi
相关产品推荐
相关产品推荐

