Можно ли использовать заданные координаты для имитации щелчка в JavaScript на веб-странице?
Как имитировать щелчок, используя координаты x, y в JavaScript?
Ответ 1
Вы можете отправить событие клика, хотя это не то же самое, что реальный щелчок. Например, он не может использоваться, чтобы обмануть междоменный iframe-документ, подумав, что он был нажат.
Все современные браузеры поддерживают document.elementFromPoint и HTMLElement.prototype.click(), поскольку, по крайней мере, IE 6, Firefox 5, любая версия Chrome и, возможно, любая версия Safari, о которой вы, вероятно, захотите. Он даже будет следовать ссылкам и отправлять формы:
document.elementFromPoint(x, y).click();
https://developer.mozilla.org/En/DOM:document.elementFromPoint https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
Ответ 2
Да, вы можете имитировать щелчок мышью, создав событие и отправив его:
function click(x,y){
    var ev = document.createEvent("MouseEvent");
    var el = document.elementFromPoint(x,y);
    ev.initMouseEvent(
        "click",
        true /* bubble */, true /* cancelable */,
        window, null,
        x, y, 0, 0, /* coordinates */
        false, false, false, false, /* modifier keys */
        0 /*left*/, null
    );
    el.dispatchEvent(ev);
}
Остерегайтесь использования метода click для элемента - он широко реализован, но не является стандартным и не будет работать, например. PhantomJS. Я предполагаю, что реализация jQuery .click() делает правильную вещь, но не подтверждена.
Ответ 3
Это просто ответ torazaburo, обновленный для использования объекта MouseEvent.
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);
    el.dispatchEvent(ev);
}
		Ответ 4
Из соображений безопасности вы не можете перемещать указатель мыши с помощью javascript и не имитировать клик с ним.
Что вы пытаетесь выполнить?