PhantomJS; 点击一个元素

如何单击PhantomJS中的元素?

page.evaluate(function() {

document.getElementById('idButtonSpan').click();

});

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

如果我代替

 return document.getElementById('idButtonSpan');

然后打印

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

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

我可以单击此按钮来与Casper一起使用,但是Casper还有其他限制,所以我回到PhantomJS。

回答:

.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);

}

以上是 PhantomJS; 点击一个元素 的全部内容, 来源链接: utcz.com/qa/428224.html

回到顶部