打开 url,当使用 casperjs 执行 .click() 时

open the url, when .click() is performed using casperjs

我使用 url "x" 并找到下一页按钮并在其上执行 .click() 。 .click() 事件运行良好,我没有发现任何错误。当执行 .click() 时,如何使 casperjs 重定向到下一页。我想过使用 casper.open() 但找不到将它与 .click()

结合使用的方法
var casper = require('casper').create();
casper.start('url');

casper.then(function() {                                 
    if (this.exists('a.j-pagination-next')) {  //selector for the next page button

        this.click('a.j-pagination-next');   // Click on next page  button
         //should return the next page url 
        // this.open()
    }
    else{
        console.log("No such selector")  //end of pages or wrong selector 
    }
});
casper.run();

点击link后,CasperJS会打开下一个页面,不需要额外的open()调用。您需要使用 then()waitFor*() 函数来执行下一页的下一步。

var casper = require('casper').create();
casper.start('url');

casper.then(function() {                                 
    if (this.exists('a.j-pagination-next')) {  //selector for the next page button

        this.click('a.j-pagination-next');   // Click on next page  button
    }
    else{
        console.log("No such selector")  //end of pages or wrong selector 
    }
});

casper.then(fucntion(){
   console.log("I'm on the next page now");
});

casper.run();

编辑

为了获得当前 URL 你应该调用 this.getCurrentUrl():

var casper = require('casper').create();
casper.start('url');

casper.then(function() {                                 
    if (this.exists('a.j-pagination-next')) {  //selector for the next page button

        this.click('a.j-pagination-next');   // Click on next page  button
    }
    else{
        console.log("No such selector")  //end of pages or wrong selector 
    }
});

casper.then(fucntion(){
   console.log(this.getCurrentUrl());
});

casper.run();

看看How to get get URL of new page using casperJS