IT

JavaScript에서 x, y 좌표를 사용하여 클릭을 시뮬레이션하는 방법은 무엇입니까?

lottoking 2020. 9. 13. 10:53
반응형

JavaScript에서 x, y 좌표를 사용하여 클릭을 시뮬레이션하는 방법은 무엇입니까?


웹 페이지 내에서 자바 시나리오 클릭을 시뮬레이션하기 위해 주어진 좌표를 사용할 수 있습니까?


당신은 많은 수 있습니다 클릭 이 실제 클릭과 같은 방법, 이벤트를. 예를 들어, 교차 도메인 iframe 문서가 클릭 할 수 없습니다. 속이는 데 사용할 수 없습니다.

모든 최신 브라우저 지원 document.elementFromPointHTMLElement.prototype.click()신경 때문에. IE 6, 파이어 폭스 5, 당신은 가능성이있어 사파리 크롬의 모든 버전 아마 모든 버전에 대한 모든 버전 링크를 따라 가고 양식을 출시합니다.

document.elementFromPoint(x, y).click();

https://developer.mozilla.org/En/DOM:document.elementFromPoint https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click


예, 이벤트를 생성하여 전달하여 마우스 클릭을 시뮬레이션 할 수 있습니다.

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()옳은 일을 가정 하지만 확인되지 않습니다.


이것은 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);
}

보안상의 뮤지션 자바로 마우스 포인터를 이동하거나 클릭을 시뮬레이션 할 수 없습니다.

달성하려는 것이 무엇입니까?

참고 URL : https://stackoverflow.com/questions/3277369/how-to-simulate-a-click-by-using-xy-coordinates-in-javascript

반응형