有没有办法在页面回发后从同一点继续执行javascript函数?

时间:2012-07-24 03:37:09

标签: javascript jquery asp.net automation screen-scraping

我必须在这里工作的旧系统,其中有很长的数据列表,我必须标记为删除,并且因为这个应用程序真的很旧(.net 1.1我猜)并且没有人有源,我必须通过使用javascript手动完成,以尝试自动化应用程序界面。

这是我想要使用书签自动化的过程:

  1. 在网站页面上,搜索所有复选框元素并将其设置为选中
  2. 转到页面末尾,单击“提交”按钮并等待回发
  3. 点击列表底部分页部分的“下一页”链接
  4. 等待新页面加载
  5. 重复,直到没有“下一页按钮”。
  6. html结构很好,所以找到控件点击等等,实际上不是问题,我无法弄清楚怎么办是在页面回发完成后继续执行javacript函数。

    有谁知道怎么做这样的事情?

    到目前为止我所得到的伪代码,除了WaiForThePostbackToComplete之外我还想出了所有其他内容:

    while($('#nextPageLink').length) {
      var checkboxes = getCheckboxes();
      checkboxes.each(click());
      var submitbutton = getSubmitButton();
      document.location = submitbutton.attr('href');
    
      // im stuck here, after the postback the function stops
      WaiForThePostbackToComplete();
    
    
      var nextpage = getNextPageLink();
      document.location = nextpagelink.attr('href');
    }
    

2 个答案:

答案 0 :(得分:0)

你无法真正从一条线重新开始。我不知道任何编程语言可以让你从一行开始执行,如果你不知道哪一个。

您需要做的是保持上次执行的状态。

最简单的选择是使用javascript cookie来保持这种状态。

document.cookie = 'timesRum=1; expires=Wed, 24 Jul 2013 02:47:11 UTC; path=/'

您可以参考本教程,它会为您提供一些helper functions to work with cookies

答案 1 :(得分:0)

你可以试试这个: -

<% if(IsPostBack)
{%>
var nextpage = getNextPageLink();
document.location = nextpagelink.attr('href');
<%}%>