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

Chrome 128版本下用Selenium取消正在下载任务的问题求助

在Chrome 128中用Selenium取消下载任务

你已经成功触发了更多操作的下拉菜单,接下来需要定位到下拉菜单里的“取消”选项并点击。由于Chrome下载页面的元素嵌套在多层Shadow DOM中,需要继续通过shadowRoot逐层获取目标元素:

完整代码示例

# 触发更多操作下拉菜单(你已实现的代码)
w.driver.execute_script("""
document.querySelector('downloads-manager').shadowRoot
.querySelector('#downloadsList downloads-item').shadowRoot
.querySelector('#more-actions').click();
""")

# 等待下拉菜单渲染完成(可选但推荐,避免元素未就绪)
w.driver.execute_script("setTimeout(() => {}, 500);")

# 点击下拉菜单中的“取消”选项
w.driver.execute_script("""
document.querySelector('downloads-manager').shadowRoot
.querySelector('#downloadsList downloads-item').shadowRoot
.querySelector('cr-menu').querySelector('menuitem[label="取消"]').click();
""")

关键说明

  • 下拉菜单的容器是cr-menu标签,其中“取消”选项对应带label="取消"属性的menuitem元素(若为英文环境,label值需改为"Cancel")。
  • 加入setTimeout是为了给下拉菜单的渲染留缓冲时间,避免因元素未加载完成出现报错。
  • 如果页面存在多个下载任务,需要调整downloads-item的选择器来定位特定任务(比如通过文件名、下载状态筛选),当前代码默认操作列表中的第一个任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:32:06