网页页面自动点击
一、代码功能:
网页页面自动点击,点击"下一步"直到尾页后,再点击"上一步"直到首页,之后重复。
二、代码解释:
这段代码是一个JavaScript函数,它的功能是自动在网页上点击"下一步"按钮,直到到达尾页,然后自动点击"上一步"按钮直到回到首页,然后重复这个过程。
代码的主要逻辑如下:
1.定义一个函数cycleAutoClick,这个函数返回一个定时器的ID,这个定时器每隔一段时间就会执行一次。
2.在这个函数中,首先定义了一些常量,包括延迟时间delay(以秒为单位),"下一个"按钮的选择器nextBtn,"上一个"按钮的选择器preBtn。
3.定义了1个布尔变量forward,以及一个计数器clickNumber。默认情况下,forward为真,表示从首页向尾页点击;forward为假,表示从尾页向首页点击。
4.使用setInterval函数创建一个定时器,每隔一段时间(1000*delay毫秒)执行一次。
5.在定时器的回调函数中,首先获取页面上的"下一个"和"上一个"按钮。
6.然后根据按钮是否存在进行条件判断:
a)如果"下一个"和"上一个"两个都存在,在中间页。
b)如果"下一个"存在,且"上一个"不存在,在首页,则设置forward为真,并点击"下一个"按钮;
c)如果"下一个"不存在,且"上一个"存在,在尾页,则设置forward为假,并点击"上一个"按钮。
d)"下一个"和"上一个"两个都不存在,不是目标页面,输出提示信息并清除定时器。
7.输出已点击的数量。
8.最后返回定时器的ID,以便于在其他地方清除这个定时器。
三、JS代码如下:
let intervalId = cycleAutoClick();
// clearInterval( intervalId ); // 备用,清除定时器,结束循环。
// JS代码 函数功能:循环体中每隔设置时间,从首页或中间页开始(默认是顺,从首页或中间页到尾页),点击 "下一个" 直到尾页;然后到尾页后,点击"上一个"直到首页;再循环。
function cycleAutoClick(){
const delay = 10; // 延迟时间秒,建议设置 8-15 之间
const nextBtn = "button.next-btn.ivu-btn.ivu-btn-default"; // "下一个"
const preBtn = "button.pre-btn.ivu-btn.ivu-btn-default"; // "上一个"
let forward = true; // 默认是顺,从首页到尾页
let clickNumber = 0; // 点击计数
let intervalId = setInterval(function() {
let elementNext = document.querySelector(nextBtn);
let elementPre = document.querySelector(preBtn);
// 4种情况:在中间页,在首页,在尾页,在非目标页面
if ( elementNext && elementPre ) { // "下一个"和"上一个"两个都存在,在中间页
if ( forward ) elementNext.click(); // 顺,从首到尾
else elementPre.click(); // 逆,从尾到首
}else if ( elementNext && !elementPre ){ // "下一个"存在,且"上一个"不存在,在首页
forward = true;
console.log("到达首页,将顺序点击至尾页!");
elementNext.click();
}else if ( !elementNext && elementPre ) { // "下一个"不存在,且"上一个"存在,在尾页
forward = false;
console.log("到达尾页,将倒序点击至首页!");
elementPre.click();
}else { // "下一个"和"上一个"两个都不存在,不是目标页面。
console.log("请打开正确的页面后,再试一次。");
clearInterval( intervalId ); // 清除定时器
return false;
}
console.log("已完成点击数量:" + ++clickNumber);
}, 1000*delay);
return intervalId;
}