casperjs点击不是选择器而是变量

时间:2013-11-27 11:09:10

标签: javascript click casperjs

是否可以在没有传递选择器的情况下单击casper js中的页面元素?我的意思是我做不到:

casperjs.thenClick('#test');

但我有

var testV = document.querySelector('#test');

我想做这样的事情:

casperjs.thenClick(testV);

目前它不起作用

1 个答案:

答案 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();
    });
});