Вот идея: я создаю робота для курса, и я думаю, что было бы забавно, если бы он сделал это, - это нажать на рекапчу «Я не робот» (я знаю, это очень оригинально).
Я сделал веб-сайт, на котором есть рекапча, которая успешно следует за мышью, так что даже если робот переместит мышь, она все равно останется на рекапче. Теперь я не уверен, как нажимать рекапчу, поскольку все должно выполняться автономно, и вероятность того, что робот нажмет левую кнопку мыши, маловероятна. У меня была идея, что, поскольку я уже использую javascript для обнаружения движения, почему бы также не активировать щелчок из события mousemove?
Вот фрагмент кода, полный код здесь
function click(x, y)
{
var ev = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true,
'screenX': x,
'screenY': y
});
var el = document.elementFromPoint(x, y);
console.log(el.dispatchEvent(ev));
}
window.onload = function(){
var bsDiv = document.getElementById("g-recaptcha");
var x, y;
// On mousemove use event.clientX and event.clientY to set the location of the div to the location of the cursor:
window.addEventListener('mousemove', function(event){
x = event.clientX;
y = event.clientY;
if ( typeof x !== 'undefined' ){
bsDiv.style.left = x + "px";
bsDiv.style.top = y + "px";
console.log(x + " " +y);
click(x,y);
}
}, false);
}
#g-recaptcha{
position: fixed;
margin-left: -20px;
margin-top: -20px;
}
<script src='https://www.google.com/recaptcha/api.js'></script>
<h1> yes14</h1>
<div class="g-recaptcha" id="g-recaptcha" data-sitekey="thisisapublickeybutillhideitanyway" style="cursor: pointer;" </div>
:
В текущей итерации я пытаюсь создать функцию click (), но я также пробовал bsDiv. click (), bsDiv.dispatchEvent (new MouseEvent ('click')) и document.elementFromPoint (x, y) .click (), все в прослушивателе событий, и ни один из них не щелкает рекапчу.
Я думал об использовании чего-то вроде autohotkey, но я бы предпочел, чтобы он содержался на веб-сайте, поскольку я хочу, чтобы члены группы также могли легко использовать этот веб-сайт.