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