我正在使用PhantomJS来尝试和刮琐问题及其答案。在Stackoverflow的帮助下。我的Javascript一点了解,所以请解释什么,我做错了详细 页面有:触发点击事件PhantomJS
http://www.buddytv.com/trivia/game-of-thrones-trivia.aspx
下面的代码:
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);
}
click('a[href="javascript:___gid_10(0)"]');
answer = page.evaluate(function() {
return $('body').html();
});
我想点击第一个回答并返回页面之后返回的任何内容(除非它返回NULL)。任何帮助感谢!谢谢。
的字符串被传递到点击的方法,而不是一个实际的元素,所以dispatchEvent被称为上字符串,而不是页面上的元素。您需要以某种方式获取元素的引用才能使其工作。 – Douglas