You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Colab中Selenium与ChromeDriver配置问题:兼容性故障排查

解决方案:Colab中绕过反爬的网页爬取问题

一、解决google-colab-selenium的模块缺失错误

该错误源于google-colab-selenium与当前安装的Selenium版本结构不兼容,driver_finder模块在Selenium 4.x部分版本中路径或存在性发生了变化。修复步骤如下:

  • 完全卸载现有冲突依赖:
    pip uninstall -y selenium google-colab-selenium
    
  • 安装适配版本的依赖(选择兼容性较好的Selenium 4.8.3):
    pip install selenium==4.8.3 google-colab-selenium
    
  • 运行基础初始化代码验证安装,确认无报错。

二、Colab中搭建Selenium+undetected-chromedriver的可靠方案

手动配置更可控,可避免版本兼容问题,具体步骤:

  1. 安装Chrome浏览器和ChromeDriver(适配Colab环境):
    !apt-get update
    !apt-get install -y chromium-browser
    !apt-get install -y chromium-chromedriver
    !ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/chromedriver
    
  2. 安装兼容版本的undetected-chromedriver:
    先通过!chromium-browser --version查看Colab默认Chrome版本,再安装匹配的undetected-chromedriver,推荐最新稳定版:
    pip install undetected-chromedriver
    
  3. 适配Colab的浏览器初始化代码:
    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)
    
    # 测试访问目标网站
    driver.get("https://目标网站域名")
    
    # 后续爬取逻辑(如提取文章内容)
    # ...
    
    # 关闭驱动
    driver.quit()
    
  4. 兼容性 fallback:若仍报错,可指定undetected-chromedriver版本为3.5.5(适配Selenium 4.x早期版本):
    pip install undetected-chromedriver==3.5.5
    

三、Colab中更稳定的替代爬取工具

若上述方案仍无法解决,推荐使用Playwright——它自带浏览器驱动,无需手动配置,反爬规避能力更强,对新手友好:

  1. 安装Playwright及Chromium浏览器:
    pip install playwright
    !playwright install chromium
    
  2. 示例爬取代码:
    from playwright.sync_api import sync_playwright
    
    with sync_playwright() as p:
        # 启动无头Chromium
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        page.goto("https://目标网站域名")
    
        # 提取文章内容(需根据目标网站结构调整CSS选择器)
        article_content = page.locator("css选择器").text_content()
    
        # 保存为txt文件
        with open("article.txt", "w", encoding="utf-8") as f:
            f.write(article_content)
    
        browser.close()
    

Playwright内置了浏览器指纹模拟、真实用户行为复刻等反爬策略,无需额外配置,稳定性优于传统Selenium方案。

内容的提问来源于stack exchange,提问作者Hedda Gabler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:46:00