要在 PhantomJS 中单击元素,不支持标准 .click() 方法。相反,必须创建并调度一个事件。
请考虑以下代码:
page.evaluate(function() { document.getElementById('idButtonSpan').click(); });
此代码将导致错误,因为 .click() 不是函数。要解决此问题,请创建一个事件并调度它:
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); }
然后,您可以使用此函数单击一个元素:
page.evaluate(function() { click(document.getElementById('idButtonSpan')); });
以上是如何在 PhantomJS 中模拟点击?的详细内容。更多信息请关注PHP中文网其他相关文章!