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

如何用iMacros获取Chrome下载弹窗触发后的最终下载链接

问题描述

我正在抓取一个包含表单的网页,提交表单(点击按钮)后会弹出下载对话框并开始下载。我需要获取Chrome下载标签页中显示的最终下载链接,但该链接不存在于网页源码中,无法使用iMacros的EXTRACT方法直接获取。

环境信息(FCI)

  • iMacros for Chrome v10.1.1(免费版)
  • Chrome 108
  • Linux Manjaro系统

更新说明

  1. 我制作了一个示例演示场景,目标是获取文件链接https://speed.hetzner.de/100MB.bin,可通过对应演示页面复现问题。
  2. 已补充完整环境信息。

可行解决方案

由于目标链接不在页面源码中,无法直接用EXTRACT提取,推荐以下几种方法:

1. 手动捕获(快速验证)

打开Chrome开发者工具(F12),切换到「网络」标签,勾选「保留日志」。运行iMacros脚本提交表单触发下载后,在网络请求列表里找到对应下载文件的请求,查看其「请求URL」就是目标链接。

2. 结合Chrome下载API自动化捕获

编写Tampermonkey脚本监听浏览器下载事件,触发下载时记录链接:

chrome.downloads.onCreated.addListener(function(downloadItem) {
    if (downloadItem.url) {
        console.log("捕获到下载链接:" + downloadItem.url);
        // 可将链接存储到本地或传递给iMacros
    }
});

注意:需要在Chrome扩展管理中为脚本开启downloads权限,iMacros免费版若要调用该脚本,需通过JS命令注入。

3. 修改浏览器下载设置提取链接

在Chrome设置中关闭「自动下载文件」选项,提交表单后下载链接会在新标签页打开,此时用iMacros切换标签并提取URL:

TAG POS=1 TYPE=BUTTON ATTR=* CONTENT=EVENT:CLICK
WAIT SECONDS=3
TAB T=2
SET !EXTRACT {{!URLCURRENT}}
PROMPT {{!EXTRACT}}

该方法仅适用于下载链接通过新标签页打开的场景,若直接触发文件流下载则无效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:10:22