是否可以在没有传递选择器的情况下单击casper js中的页面元素?我的意思是我做不到:
casperjs.thenClick('#test');
但我有
var testV = document.querySelector('#test');
我想做这样的事情:
casperjs.thenClick(testV);
目前它不起作用
答案 0 :(得分:1)
您未正确使用thenClick。确保then.click不包含在casper.evaluate块中,并注意casper末尾没有js
。它应该实现为:
casper.thenClick('a', function() {
this.echo("I clicked on first link found, the page is now loaded.");
});
如果您只想在选择器上执行常规click,则可以执行以下操作:
casper.then(function() {
// Click on 1st result link
this.click('h3.r a');
});
如果您想使用javascript,请确保您在casper.evaluate声明中。您可以使用以下内容:
casper.then(function() {
casper.evaluate(function() {
var testV = document.getElementById("test");
testV.click();
});
});