首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript从浏览器控制台批量下载文件?

问如何使用JavaScript从浏览器控制台批量下载文件?
EN

Stack Overflow用户
提问于 2015-07-07 11:22:26
回答 1查看 3.8K关注 0票数 3

我没有网页编程的经验,所以我的问题将是一个非常简单的问题。我想通过在网页中填写表格来下载很多文件。网页的扩展是.aspx,我只对一个字段和一个按钮感兴趣。通过在浏览器中玩弄控制台,我发现正在执行:

代码语言:javascript
复制
document.getElementById('TxtRegNo').value = 'blahblah`;

将填补有关的领域。也做了一个

代码语言:javascript
复制
__doPostBack("ImageButton1","Click");

将下载响应于.pdf的blahblah文件。需要输入的实际值是一个类似PAG-1200到PAG-1900的序列。我尝试使用for循环,如下所示:

代码语言:javascript
复制
for (var i = 21618; i < 21621; i++) 
{
document.getElementById('TxtRegNo').value = 'B14-' + i;
__doPostBack("ImageButton1","Click");
}

但它并不像预期的那样起作用。只有最后一个文档被下载,我在控制台中得到了这个:

​

​

虽然在火狐的控制台中运行nI时不会出现此错误,但我仍然只能运行一个文件。有人能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-09 13:04:58

试试这个:

  1. 通过控制台将jQuery注入页面,如下所述:Include jQuery in the JavaScript Console
  2. 在for循环中克隆表单,按您的意愿设置值,并提交表单jQuery('form').clone().find('#TxtRegNo').val('blah').parent('form').submit();。

如果页面包含多个窗体,则应指定它。'form'就像这里的css选择器一样工作。这将在页面上找到所有表单。如果需要的话,只需使用'#elementId'或'.elementsClassName'就更具体了。

也许您还需要更改表单的名称(以便能够同时提交表单)。我没试过,这只是猜测。

如果要将代码拆分为几行,也可以这样做:

代码语言:javascript
复制
var myFormClone = jQuery('form').clone();
myFormClone.find('#TxtRegNo').val('blah');
myFormClone.attr('name', 'uniquename_' + iterationVariableOfForLoop);
myFormClone.submit();

如果提交失败,请尝试:

代码语言:javascript
复制
myFormClone.get(0).submit();

祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31267215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档