【问题标题】:Download data from a table on webpage with dynamic content从具有动态内容的网页上的表格中下载数据
【发布时间】:2013-03-06 13:04:10
【问题描述】:

大家好,我想下载表格 http://www.bseindia.com/members/DirectoryOtherIntermediaries.aspx?expandable=2 要导航到下一页,运行 java 脚本: 例如: javascript:__doPostBack('ctl00$ContentPlaceHolder1$grvMember','Page$2') 当我们点击第二页按钮时运行。 我想从所有这些页面下载表格。 我不知道如何从萤火虫下载它。目前是否有任何其他方法我正在搜索有关 firebug 选项但无法弄清楚的方法。

ps:在网页上选择中间商作为子代理选项,将子代理的名称命名为'a'。然后说提交,就会生成一个表。

【问题讨论】:

  • 您使用过复制/粘贴吗?其实你在做什么还不清楚。
  • 其实我想下载所有页面上的所有信息,所以手动复制粘贴是不可能的。页面是动态生成的。

标签: javascript asp.net firefox automation firebug


【解决方案1】:

对于这样的事情,我在 Firefox 中使用 Scratchpad (Shift+F4)。

var page = 1;
setInterval(function(){
    //copy data here
    page ++;
    __doPostBack('ctl00$ContentPlaceHolder1$grvMember','Page$' + page);
}, 2000);

计时器过去不能在 Scratchpad 中工作,但现在可以了,这很棒。如果你真的很喜欢,你可以在页面准备好时挂钩。

【讨论】:

  • 当 javascript 被执行时,整个页面被重新加载并且脚本没有被多次执行
  • 当调用 __doPostBack 时,您提供的页面实际上会重新加载整个页面。 URL 是相同的,因为它通过 POST 而不是 GET 提交它,并在 HTTP 标头中发送参数(GET 在 URL 中发送它们)。由于分页不像我想的那样是 Ajax,所以这种方法行不通。如果您只是使用正确的 POST 参数自己下载页面(通过分析 Firebug 中的请求/响应来找到它们)然后解析它们,这可能会更容易。或者,自动化 Internet Explorer 并使用它的 DOM。 AutoIt 让 IE COM 自动化变得非常简单。
猜你喜欢
  • 2021-09-16
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 2014-05-08
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多