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

如何在Colaboratory中使用Selenium通过点击事件下载文件

Colab环境Selenium点击下载无文件问题解决方案

核心原因

Chrome无头模式默认禁用文件下载功能,仅配置prefs的下载路径不生效,且需要额外配置Colab沙箱环境下的下载权限。

完整可运行步骤

1. 安装依赖

!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium

2. (可选)挂载Google Drive

如果需要将文件存入Google Drive,先运行挂载代码:

from google.colab import drive
drive.mount('/content/drive')

3. 配置Selenium启动参数(核心修改点)

除原有参数外,需要新增Page.setDownloadBehavior规则手动允许下载,示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# 配置默认下载路径
prefs = {'download.default_directory' : "/content"}
options.add_experimental_option('prefs', prefs)

driver = webdriver.Chrome('chromedriver',options=options)
# 关键:手动给无头模式开启下载权限
driver.command_executor._commands["send_command"] = ("POST", '/session/$sessionId/chromium/send_command')
params = {'cmd': 'Page.setDownloadBehavior', 'params': {'behavior': 'allow', 'downloadPath': '/content'}}
driver.execute("send_command", params)

# 这里替换为你自己的目标网站地址
driver.get("你的目标网站URL")
# 下载操作,兼容所有Selenium版本
xpath = '''//*[@id="glopopd_excel"]/span'''
driver.find_element(By.XPATH, xpath).click()

验证下载结果

运行下载后,执行如下命令查看/content目录下的文件:

!ls /content

如果需要保存到Google Drive,只需把代码里的downloadPath和download.default_directory都替换为你Drive下的路径即可,比如/content/drive/MyDrive/下载文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 23:21:03