使用casperjs执行.click()时,打开网址

时间:2018-07-27 02:10:08

标签: phantomjs 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();

1 个答案:

答案 0 :(得分:0)

单击链接后,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();

编辑

要获取当前网址,您应该致电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