在Colab上运行Selenium再次失效,求可行解决方案
Google Colab 中使用 Selenium 的最新解决思路
1. 重装并配置基础依赖
Colab环境更新可能导致旧驱动或浏览器版本不兼容,先执行以下命令完成基础安装:
!apt-get update !apt-get install -y chromium-browser !apt-get install -y chromium-chromedriver !pip install selenium
然后配置驱动路径并初始化浏览器:
import sys sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver') from selenium import webdriver from selenium.webdriver.chrome.options import Options # 配置无头浏览器参数 options = Options() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') options.add_argument('--disable-gpu') driver = webdriver.Chrome(options=options)
2. 确保Chrome与ChromeDriver版本完全匹配
版本不兼容是常见失效原因,先查看当前Chrome版本:
!chromium-browser --version
根据输出的版本号(比如118.0.5993.70),手动下载对应版本的ChromeDriver替换现有驱动:
# 示例:替换为118.0.5993.70版本的驱动 !wget https://storage.googleapis.com/chrome-for-testing-public/118.0.5993.70/linux64/chromedriver-linux64.zip !unzip chromedriver-linux64.zip !mv chromedriver-linux64/chromedriver /usr/lib/chromium-browser/chromedriver
3. 改用undetected-chromedriver绕过环境检测
常规Selenium可能被Colab或目标网站的反爬机制拦截,试试这个专门规避检测的库:
!pip install undetected-chromedriver
初始化示例:
import undetected_chromedriver as uc options = uc.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') driver = uc.Chrome(options=options)
4. 重置运行时环境
如果以上操作都无效,试试重启Colab运行时(菜单栏「运行时」→「重启运行时」),再重新执行安装和初始化命令,避免环境缓存干扰。
内容的提问来源于stack exchange,提问作者ArminAshrafi
相关产品推荐
相关产品推荐

