是否有办法随机自动点击网页上的链接

Is there a way to randomly auto-click links on a webpage?

本文关键字:网页 链接 随机 是否      更新时间:2023-09-26

我正在测试一款通过激活代理来限制网站的软件。似乎有一个漏洞,代理只是停止工作,但只有在大约一两个小时的网上冲浪,或点击数百,甚至数千个链接。

是否有现有的解决方案可以做到这一点?如果我能用这种方法解决问题,我也对编程很感兴趣。

我听说过firefox的greasemonkey插件,但我对javascript不熟悉。是否有一种方法,javascript可以随机收集页面上的链接,然后随机打开其中一个?

听起来代理可能有大约一个小时的会话超时(绝对)或大约一个小时的"无活动"。

不考虑它是否是一个好的测试方法,这里有一个完整的Greasemonkey脚本,它可以点击随机链接:

// ==UserScript==
// @name     _YOUR_SCRIPT_NAME
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// ==/UserScript==
var timeDelaySeconds    = 2;
setInterval (clickRandomLink, timeDelaySeconds * 1000);
function clickRandomLink () {
    var links = document.querySelectorAll ("a");
    /*--- Or fine-tune the links to certain areas or types.  EG:
        var links = document.querySelectorAll ("#content a");
        var links = document.querySelectorAll ("a.comments");
        etc.
    */
    if (links.length) {
        var linkToClick = links[getRandomInt (0, links.length - 1) ];
        var clickEvent  = document.createEvent ('MouseEvents');
        clickEvent.initEvent ('click', true, true);
        linkToClick.dispatchEvent (clickEvent);
    }
}
function getRandomInt (min, max) {
    return Math.floor (Math.random () * (max - min + 1) ) + min;
}

它使用一个时间延迟来允许链接到AJAX-in。它使用querySelectorAll()来允许微调所使用的链接,并且它发送一个实际的单击事件,因为这是触发大多数类型链接的最健壮的方式。