我想建立一个机器人,每隔5个小时就会点击一个按钮, 我怎样才能做到这一点? 我更喜欢PHP,但如果你知道其他任何语言,我也知道C#,Java,JS .. 任何建议开始,我从来没有做过,我想学习如何做到这一点,我一直在寻找,没有找到任何东西。 非常感谢!。 我已经尝试过按钮发送的chrome,它发送javascripts:void(0)类似于location.href = /Blah/blaahh.php。
答案 0 :(得分:1)
所以基本上你的问题是programmatically click a button
并在某个time interval
中触发它。所以我想到的是下面的解决方案:
<script>
setInterval(function(){
$('#button').trigger('click');
}, 3000);
</sctipt>
上面的代码将trigger
,按钮将在点击时触发,并且会在每个时间段内发生。单击按钮后,尝试添加一些功能以在技术上单击按钮后处理事件。
希望有帮助=)
答案 1 :(得分:0)
您必须每隔setTimeout
秒使用n < 10
以阻止浏览器休眠,setInterval
时间不太好。
在我看来,实现类似的最好的两种方法是:
setTimeout
:
var CLICK_EVERY_TIME = 10 * 1000; // i choosed to click every 10 sec
var clickCount = 0;
var lastClick = 0;
var loops = 0;
$(window).ready(function(){
// on page load start you auto clicker
runner();
});
function performClick(){
clickCount++;
$('#clickCount').html("clicks: "+clickCount);
// save last click time
lastClick = new Date().getTime();
}
function runner(){
loops++;
var currentTime = new Date().getTime();
if(currentTime - Number(lastClick) > CLICK_EVERY_TIME){
performClick();
}
$('#loops').html("runner: "+loops+" loops");
setTimeout(runner, 1000); // every 1 seconds
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="clickCount">clicks: 0</div>
<div id="loops">runner: 0 loops</div>
您必须使用jsdom来模拟浏览器并执行点击。
注意:在Node.js中,您可以根据需要使用setInterval
小时,因为Node.js是独立进程。