Google Colab中WebDriver初始化报错:options参数重复赋值问题
问题原因
- Selenium 4.x版本对
webdriver.Chrome()的参数结构做了调整:旧版本(3.x)中第一个位置参数是驱动文件路径,而4.x版本后,第一个位置参数变为options。你直接传入'chromedriver'会被解析为options参数,后续又显式指定options=chrome_options,导致同一参数被重复赋值,触发TypeError。 - Google Colab环境已预装Chromium浏览器及对应驱动,无需手动指定驱动路径。
解决办法
1. 确保依赖安装(首次运行Colab时执行)
!pip install selenium !apt-get update !apt install chromium-chromedriver
2. 修改初始化代码
去掉多余的驱动路径参数,直接传递options:
from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--window-size=2050,2050") chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # 正确的初始化方式 driver = webdriver.Chrome(options=chrome_options)
(可选)若需手动指定驱动路径(Selenium 4+写法)
如果因特殊情况需要指定驱动文件路径,需使用Service类封装路径:
from selenium import webdriver from selenium.webdriver.chrome.service import Service chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--window-size=2050,2050") chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') service = Service('/path/to/chromedriver') driver = webdriver.Chrome(service=service, options=chrome_options)
内容的提问来源于stack exchange,提问作者King
相关产品推荐
相关产品推荐

