尝试使用 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中文网其他相关文章!