嘗試使用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中文網其他相關文章!