猿问

单击元素..

单击元素..

如何单击PhantomJS中的元素?

page.evaluate(function() {
    document.getElementById('idButtonSpan').click();  });

这给了我一个错误“未定义的不是一个函数.”

如果我

 return document.getElementById('idButtonSpan');

然后打印出来

然后打印[Object],因此元素确实存在。

元素充当一个按钮,但实际上它只是一个span元素,而不是提交输入。

我能够让这个按钮点击与Casper一起工作,但是Casper还有其他的限制,所以我回到了PhantomJS。


慕尼黑5688855
浏览 552回答 3
3回答

繁花如伊

.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);}
随时随地看视频慕课网APP
我要回答