Подскажите пожалуйста есть код на стороне сервера, к которому напрямую нет доступа. Логика такая когда происходит клик на странице, скрипт делает редирект. Необходимо сэмулировать этот клик.
Гуглил различные варианты эмитации кликов, но почему они не срабатывают, то есть если клик совершен мышкой - редирект происходит, если делать скриптом - то нет.
Быть может есть разница в событии которое создается при клике мыши и событие которое генерируется скриптом ?
Или же возможно достичь полного соответствия ?
Подскажите пожалуйста.
Вот пример кода, который я использовал :
1) JQ
var $el = $('body')
var offset = $el.offset()
var event = jQuery.Event('mousedown', {
which: 1,
pageX: 12345,
pageY: 12345,
})
$el.trigger(event)
2) JS
var targetNode = document.querySelector (".home");
if (targetNode) {
//--- Simulate a natural mouse-click sequence.
setInterval(() => {
triggerMouseEvent (targetNode, "mousedown");
triggerMouseEvent (targetNode, "mouseup");
}, 2000);
}
else
console.log ("*** Target node not found!");
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}