Skip to content

Instantly share code, notes, and snippets.

@qwIvan
Forked from zbinlin/google-voice-auto-click.js
Created February 4, 2017 06:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qwIvan/f2ee7180478d05847f1fa3c2d85b5136 to your computer and use it in GitHub Desktop.
Save qwIvan/f2ee7180478d05847f1fa3c2d85b5136 to your computer and use it in GitHub Desktop.
/**
* For Google Voice
* @Author zbinlin <zbinlin@outlook.com>
*/
var sleep = delay => new Promise(resolve => setTimeout(resolve, delay));
var composeClick = function x(btn) {
var rect = btn.getBoundingClientRect();
var x = rect.clientX + rect.width * Math.random();
var y = rect.clientY + rect.height * Math.random();
const mousedown = new MouseEvent("mousedown", {
screenX: x + window.screen.availLeft,
screenY: y + window.screen.availTop,
clientX: x,
clientY: y,
});
const click = new MouseEvent("click", {
screenX: x + window.screen.availLeft,
screenY: y + window.screen.availTop,
clientX: x,
clientY: y,
});
const mouseup = new MouseEvent("mouseup", {
screenX: x + window.screen.availLeft,
screenY: y + window.screen.availTop,
clientX: x,
clientY: y,
});
btn.dispatchEvent(mousedown);
return sleep(150 + Math.random() * 30)
.then(() => {
btn.dispatchEvent(click);
return sleep(30 + Math.random() * 30);
}).then(() => {
btn.dispatchEvent(mouseup);
});
}
function task() {
var btn = document.querySelector(".continueButton");
if (!btn) {
alert("Finish");
return;
}
composeClick(btn)
.then(() => {
// 在此调整点击时间间隔
return sleep(500 + Math.random() * 3000);
})
.then(() => {
task();
});
}
task();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment