Javascript 编写脚本以打开新链接并单击按钮

Javascript 编写脚本以打开新链接并单击按钮,javascript,php,jquery,Javascript,Php,Jquery,我写了一个小的greasemonkey脚本来打开这个链接typehttp://example.com/details.php?id=*&very=1,然后单击这些链接上的hello按钮,但不知怎的,它无法工作 // ==UserScript== // @name My Fancy New Userscript // @namespace http://use.i.E.your.homepage/ // @version 0.1 // @description enter s

我写了一个小的greasemonkey脚本来打开这个链接typehttp://example.com/details.php?id=*&very=1,然后单击这些链接上的hello按钮,但不知怎的,它无法工作

// ==UserScript==
// @name       My Fancy New Userscript
// @namespace  http://use.i.E.your.homepage/
// @version    0.1
// @description  enter something useful

// @include http://example.com/details.php?id=*&very=1

// @copyright  2012+, You
// ==/UserScript==

  function sayhello(){
     for(var i=1;i<100;i++){
      window.location.href='http://example.com/details.php?id='+i+'&very=1'
      $("#hello").click()}
      }
    };

   sayhello();
它的工作速度很慢,因为每次它都会加载整个新页面,有时如果页面中的某些内容加载不正确,它只会停留在该页面上等待加载,然后崩溃。 如何跳过无法正确加载的页面并保证脚本运行

如何加速,我只需要点击一个特定的按钮,不需要加载图片或其他东西

有人能帮忙吗


谢谢。

与在网页上运行的其他JavaScript一样,Greasemonkey脚本不会在页面加载时保留状态。因此,

for(var i = 1; i < 100; i++) {
    window.location.href = 'http://example.com/details.php?id=' + i + '&very=1';
    $("#hello").click();
}
根据$hello.click的功能,您可能会或可能不会给它足够的时间来完成它应该做的事情。您可以在继续下一页之前添加一个setTimeout,或者尝试找到某种类型的hook回调来绕过这个问题


最后,如果您希望加快速度,不加载图像或任何内容,那么解决方案就是不使用浏览器。使其运行最快的方法是找出单击hello的确切作用,然后在浏览器外编写脚本来模拟该操作。幸运的话,您不需要加载图像。

说谢谢!=SayHello可能正在查找window.open而不是window.location
for(var i = 1; i < 100; i++) {
    window.location.href = 'http://example.com/details.php?id=' + i + '&very=1';
    $("#hello").click();
}
$("#hello").click();
var currentID = /* retrieve current ID from URL */;
var nextID = currentID + 1;
if(nextID < 100) {
    window.location.href = 'http://example.com/details.php?id='
                         + nextID + '&very=1';
}