【问题标题】:Download a file without URL下载没有 URL 的文件
【发布时间】:2018-03-16 20:33:58
【问题描述】:

我正在更新一些用于下载 CSV 报告的旧 CasperJS 代码。 Web 界面最近发生了变化。旧版本有一个我可以抓取的链接标签,然后使用casper.download() 来检索文件。

但是,新版本似乎是一个 Angular 应用程序,并且下载按钮触发了一个 handleDownload() 函数,该函数在后台执行某些操作,这会导致我的浏览器中弹出一个对话框。

有没有办法截取这个对话框或者从实际文件中提取 URL?

【问题讨论】:

  • 您是否尝试查看下载文件时发出的请求?
  • 这是个好主意。奇怪的是,我没有在 chrome 的网络选项卡中看到文件传输。我可以看到一些 API 请求,但文件本身正在通过其他方式下载。我推断,根据 chrome devtools 请求总数为 6k,文件本身为 30k
  • 你能链接这个网站吗?我确定它在某处的请求中。
  • 不幸的是,它在登录后。当然,我可以在 devtools 中找到这么多地方来找到实际传输发生的位置?
  • 您一直在寻找的网络选项卡下是正确的。有时请求可能会令人困惑,但它必须存在于某个地方。

标签: casperjs


【解决方案1】:

几个选项:

  • 您可以查看请求的 URL(F12 > Chrome 中的网络)。然后您可以尝试推断 URL。
  • 看看handleDownload 做了什么——逻辑应该可以用于 你。您也许可以在那里提取数据。

不看代码很难帮忙。

【讨论】:

  • 查看我上面的评论以检查 URL。我没有看到 csv 请求本身出现。除了网络选项卡之外,devtools 中还有其他地方可以查看文件传输吗?至于查看源代码,这是我尝试的第一件事,但它被缩小了,即使在让 chrome 漂亮打印它之后,我还无法解开逻辑。
  • 试试“来源”标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 2016-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多