page.evaluate 함수와 document.getElementById('idButtonSpan').click()을 사용하여 PhantomJS에서 요소를 클릭하려고 할 때; , 요소가 존재하더라도 "정의되지 않은 것은 함수가 아닙니다..."라는 오류가 발생할 수 있습니다. 이는 .click()이 PhantomJS에서 요소를 클릭하는 표준 함수가 아니기 때문입니다.
PhantomJS에서 클릭 이벤트를 시뮬레이션하려면 다음과 같이 사용자 정의 이벤트를 생성하고 전달해야 합니다.
function click(el) { var ev = document.createEvent("MouseEvent"); ev.initMouseEvent( "click", true, // bubble true, // cancelable window, null, 0, // screenX 0, // screenY 0, // clientX 0, // clientY false, // ctrlKey false, // altKey false, // shiftKey false, // metaKey 0, // button null // relatedTarget ); el.dispatchEvent(ev); }
그런 다음 원하는 요소에 이 클릭 기능을 사용하여 클릭 이벤트를 시뮬레이션할 수 있습니다.
위 내용은 PhantomJS에서 클릭 이벤트를 올바르게 시뮬레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!