【发布时间】:2013-03-22 06:44:09
【问题描述】:
如何在 PhantomJS 中单击元素?
page.evaluate(function() {
document.getElementById('idButtonSpan').click();
});
这给了我一个错误“未定义不是函数...”
如果我改为
return document.getElementById('idButtonSpan');
然后打印出来,
然后它打印[object object],所以元素确实存在。
该元素充当按钮,但它实际上只是一个 span 元素,而不是提交输入。
我能够通过单击此按钮来使用 Casper,但 Casper 有其他限制,所以我回到了 PhantomJS。
【问题讨论】:
-
是时候接受答案了。
-
有3个答案使用了“dispatchEvent”函数,2个使用了“sendEvent”,一个几乎没用,一个应该是评论。
-
别忘了#号...
-
为什么还没有人指出
click()在 DOM API 中根本不存在,你可能在 jQuery 或类似的 lib 中看到过? -
4 年后:答案已接受!我离开了 PhantomJS,所以无法验证答案。但我会接受 58 票是正确的 :) @torazaburo
标签: javascript click phantomjs