PhantomJS에서는 .click()을 사용하여 요소를 클릭하려는 시도가 종종 실패하여 "정의되지 않은 것은 함수가 아닙니다."와 같은 오류가 발생합니다. ..". 이 문제는 .click()이 표준 DOM 사양의 일부가 아니기 때문에 발생합니다.
요소를 성공적으로 클릭하려면 다음과 같이 이벤트를 생성하고 전달해야 합니다.
function click(el) { var ev = document.createEvent("MouseEvent"); ev.initMouseEvent( "click", true /* bubble */, true /* cancelable */, window, null, 0, 0, 0, 0, /* coordinates */ false, false, false, false, /* modifier keys */ 0 /*left*/, null ); el.dispatchEvent(ev); }
그런 다음 이 함수를 사용하여 원하는 범위 요소를 인수로 전달하여 클릭할 수 있습니다.
click(document.getElementById('idButtonSpan'));
이 접근 방식은 마우스 클릭 이벤트를 시뮬레이션하여 클릭 기능이 내장되어 있지 않더라도 요소를 성공적으로 클릭하여 이 특정 시나리오에서 Casper가 직면한 한계를 해결합니다.
위 내용은 PhantomJS에서 `.click()`이 실패하는 이유는 무엇이며 요소를 올바르게 클릭하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!