【问题标题】:Loop through links on site and click links javascript/jquery循环浏览网站上的链接并点击链接 javascript/jquery
【发布时间】:2012-05-25 18:47:00
【问题描述】:

我正在尝试遍历网站上的所有链接并自动点击一些链接以便投票,这是我目前所拥有的:

    function x(){
        for(var e in document.getElementsByTagName("a")){ 
            alert(e.getAttribute("href"))
            e.click;
        }
    }

这目前不起作用,我认为这可能与大括号 / 等简单的东西有关;关键,我是 javascript 的绝对初学者,所以请多多包涵。 我假设您对我想做的事情有所了解,我已经用另一种语言完成了这项任务,但仍未获得注册投票,我相信这可能与使用 jquery 的网站有关?我的问题是,我怎样才能让这个简单的脚本开始工作,以及 2)我可以使用 Jquery 的不同点击方法而不是我在那里的方法 3)我如何检查 6 个特定的 URL 并只点击这些。我还需要使用 javascript:xxx_code_here 从浏览器执行此操作

有什么想法吗?

谢谢

【问题讨论】:

  • 你试过e.click()吗? (带括号。)

标签: javascript jquery loops click hyperlink


【解决方案1】:

像使用 jquery 一样

$("a").each(function ()
{
   $(this).trigger('click');//for clicking element
   var href = $(this).attr("href");
});

你可以使用trigger:

【讨论】:

  • 我的问题是,我想从浏览器执行代码,这可能吗?
  • @Nookster - 如果你想在点击时重定向到其他页面......比你可以使用“location.href = linkhref”这将导致页面重定向到其他页面......跨度>
  • 如何在浏览器中使用如下格式执行它:javascript:function x() { $("a").each(function (i, a) {alert(a.href );a.click();});}x();使用此代码,我得到未定义的 a.click 函数
  • @Nookster - 你可以做的是 $(this).trigger('click');//点击元素
  • 无法通过浏览器地址栏执行,这就是我需要它的用途 - 有什么想法吗?
【解决方案2】:

使用 JQuery 你可以使用这个:

$("a").each(function(){
    alert($(this).attr('href'));
    $(this).trigger('click');
};

【讨论】:

  • 这看起来不错,但我需要通过浏览器使用 javascript:xx_code_here 执行它我无法让这段代码像这样工作,有什么想法吗?
  • 你可以通过浏览器执行jquery代码,你必须使用没有lib的基本javascript。您的代码似乎很好,只需更改 this.click() 中的 e.click,应该可以工作
  • 如何检查特定的 URL 并只点击那些?
【解决方案3】:
$("a").each(function ()
{
    window.location.href = $(this).attr('href');
    // $(this).trigger('click');
});

【讨论】:

    【解决方案4】:

    你可以用纯javascript做到这一点

    function x() { // 请找一个更好的名字! for(var a in document.getElementsByTagName("a")) { 警报(a.href); a.点击(); // 小心,仅限 IE,见 cmets } }

    使用 jQuery,您的代码更短:

    函数 x() { $("a").each(函数 (i, a) { 警报(a.href); a.点击(); }); }

    【讨论】:

    • 您好,谢谢您的回复 它之所以叫 X 是因为我想从浏览器中执行它,如下所示: javascript:function x() { $("a").each(function (i, a ) {alert(a.href);a.click();});}x();但是,这返回 a.click [undefined] 不是一个函数,但是它会显示警报..
    • 据我所知,click() 方法仅适用于 IE,所以如果您打算使用纯 js,您可能应该自己编写一个 click 方法。该线程描述了如何:stackoverflow.com/questions/902713/…
    • 我需要像通过用户点击一样调用点击,我认为 jquery 会处理它,但我还需要在浏览器地址栏中使用 javascript:xxxx 执行此操作有什么想法吗?
    【解决方案5】:
    javascript: var validUrls = ["http://targetsite.com/votefraud1","http://targetsite.com/votefraud2","http://targetsite.com/votefraud3"];
    
    function x() { 
     for(var a in document.getElementsByTagName("a")) {
       if(validUrls.indexOf(a.href) != -1){
          window.open(a.href,'');
        }
      }
    }
    
    x();
    

    如果这不起作用,我们可能需要更多信息,了解点击事件在您尝试在投票系统上进行游戏的任何网站上究竟应该做什么

    【讨论】:

      【解决方案6】:

      这对我有用

      每个链接都在新标签中打开

      $("a").each(function ()
      {
          window.open($(this).attr('href'),"_blank");
      });
      

      如果第一次没有打开链接,那么您必须在网页上启用弹出窗口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-07
        • 1970-01-01
        • 2021-02-16
        • 1970-01-01
        • 1970-01-01
        • 2011-06-07
        • 2022-12-10
        • 2017-12-14
        相关资源
        最近更新 更多