Selenium v4.6.0(Windows)初始化Chrome驱动报AttributeError求助
Selenium v4.6.0在Windows下运行报错解决
我是Selenium新手,在Windows系统上使用v4.6.0版本,运行以下Python脚本时反复遇到错误,且已确认ChromeDriver路径正确:
from selenium import webdriver driver = webdriver.Chrome('chromedriver.exe') driver.get('https://www.selenium.dev/') print(driver.title) driver.quit()
错误信息如下:
Traceback (most recent call last): File "c:\Users\chris\development\automation\selenium\index.py", line 5, in <module> driver = webdriver.Chrome('chromedriver.exe') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\chris\development\automation\selenium\.venv\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 49, in __init__ super().__init__( File "C:\Users\chris\development\automation\selenium\.venv\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 60, in __init__ ignore_proxy=self.options._ignore_local_proxy, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'str' object has no attribute '_ignore_local_proxy'
问题原因
Selenium 4.6.0版本起,webdriver.Chrome()的第一个参数不再接受驱动路径字符串,而是options对象。直接传入chromedriver.exe会被当作options参数解析,导致类型不匹配的错误。
解决方法
方式一:用Service类指定驱动路径
从Selenium 4开始,官方推荐通过Service类管理驱动文件:
from selenium import webdriver from selenium.webdriver.chrome.service import Service service = Service('chromedriver.exe') driver = webdriver.Chrome(service=service) driver.get('https://www.selenium.dev/') print(driver.title) driver.quit()
方式二:利用内置自动驱动管理(推荐)
Selenium 4.6.0及以上版本内置了Selenium Manager工具,会自动下载并匹配对应版本的ChromeDriver,无需手动指定路径:
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.selenium.dev/') print(driver.title) driver.quit()
只要Chrome浏览器版本为最新状态,Selenium会自动完成驱动的匹配与加载。
内容的提问来源于stack exchange,提问作者Christelle
相关产品推荐
相关产品推荐

