Google Colab中Selenium Chrome WebDriver无法运行的问题解决求助
在Google Colab中正确使用Python版Selenium的方法
错误原因
你遇到的TypeError是因为Selenium 4+版本的API变更:webdriver.Chrome()的第一个参数不再是驱动文件路径,而是Service对象。直接传入'chromedriver'作为位置参数,再结合options关键字参数,会导致参数解析冲突。
正确的实现步骤
1. 安装Selenium和Chromium Driver
你的Shell安装命令是有效的,执行后可完成Chromium和Selenium的安装。若需确认驱动路径,可执行which chromedriver查看,Colab中默认路径为/usr/bin/chromedriver。
2. 修正Selenium初始化代码
需要导入Service类,按新API规范传递驱动路径和配置选项:
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 配置Chrome运行选项 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') # 无头模式,Colab无图形界面必须开启 chrome_options.add_argument('--no-sandbox') # 禁用沙箱,适配Colab环境 chrome_options.add_argument('--disable-dev-shm-usage') # 解决Colab内存限制问题 chrome_options.add_argument('--remote-debugging-port=9222') # 可选,避免启动异常 # 初始化浏览器驱动 driver_path = '/usr/bin/chromedriver' service = Service(driver_path) driver = webdriver.Chrome(service=service, options=chrome_options) # 测试示例:访问页面并打印标题 driver.get('https://www.google.com') print(driver.title) # 使用完毕后关闭驱动 driver.quit()
关键注意事项
- API适配:Selenium 4+必须通过
Service对象传递驱动路径,不能沿用Selenium 3直接传路径的写法。 - Colab专属配置:
--no-sandbox和--disable-dev-shm-usage是Colab环境下的必填参数,否则会出现启动失败或内存溢出问题。 - 无头模式:Colab无图形界面,必须开启
--headless才能正常运行Chrome。
内容的提问来源于stack exchange,提问作者futuregamer1579
相关产品推荐
相关产品推荐

