Javascript evaluate中的CasperJS click()立即返回null,忽略其他行
我试图在CasperJS中编写一个求值函数,但在调用click事件时遇到了一个问题。下面是一个快速代码块来说明问题:Javascript evaluate中的CasperJS click()立即返回null,忽略其他行,javascript,click,phantomjs,casperjs,Javascript,Click,Phantomjs,Casperjs,我试图在CasperJS中编写一个求值函数,但在调用click事件时遇到了一个问题。下面是一个快速代码块来说明问题: returnVal = casper.evaluate(() -> document.querySelector('.class').click() return true returnVal在上述字段中始终为空,即使类存在 在我的实际代码中,我有大量代码要运行,我希望在整个过程中执行多个单击事件 CasperJS的设计是在调用click()时立即返回吗?
returnVal = casper.evaluate(() ->
document.querySelector('.class').click()
return true
returnVal
在上述字段中始终为空,即使类存在
在我的实际代码中,我有大量代码要运行,我希望在整个过程中执行多个单击事件
CasperJS的设计是在调用
click()
时立即返回吗?还是我错过了一些非常简单的东西 当您注册到诸如“page.error”之类的错误事件时:
然后您将看到,click()
不是一个可以调用的函数。PhantomJS 1.x只支持
和
元素上的click()
,即使这样也不一致。如果您想要一致的行为,请使用CasperJS自己的单击功能:
casper.then(function(){
this.click(".class");
});
evaluate()
调用的结果始终为null(undefined
),因为return
语句从未执行过。在此之前的行中会抛出一个未捕获的错误
这是用JavaScript编写的,但适用于CoffeeScript的方式完全相同。谢谢。是否绝对没有办法在求值函数中执行正常的JavaScript单击事件?我正在处理的网站使用虚拟DOM,因此
这个。很遗憾,单击(“.class”)
不起作用。您可以在中的页面上下文中添加自定义合成单击功能,但我怀疑这是否会更好。我想你需要弄清楚虚拟节点背后真正的DOM节点是什么。
casper.then(function(){
this.click(".class");
});