2017-02-07 32 views
0

我有一個簡單的鏈接我要跟隨CasperJS:clickLabel不工作

<a href="#page-2" class="">next</a>(頁-2增量)

我試圖按照使用clickLabel下一個按鈕,但我似乎無法得到它上班。這似乎進入下一個頁面,然後死

var casper = require("casper").create({ 
    waitTimeout: 10000, 
    stepTimeout: 10000, 
    verbose: true, 
    pageSettings: { 
     webSecurityEnabled: false 
    }, 
    onWaitTimeout: function() { 
     this.echo('** Wait-TimeOut **'); 
    }, 
    onStepTimeout: function() { 
     this.echo('** Step-TimeOut **'); 
    } 
}); 
var x = require('casper').selectXPath; 

casper.start(); 
casper.open("removed"); 

function getAllPages() { 


     if (casper.exists(x('//a[text()="next"]'))) { 
      casper.echo("Fire") 
      casper.clickLabel('next') 
      casper.then(getAllPages); 

     } else { 
      casper.echo("END") 
     } 
} 

casper.then(getAllPages); 
casper.run(); 

回答

1

我覺得頁面沒有加載速度不夠快,這個工程

function getAllPages() { 

    if (casper.exists(x('//a[text()="next"]'))) { 
     casper.echo("Fire") 
     var selected = casper.getElementInfo(x(".//*[@class='selected']")).html; 
     casper.echo(selected) 
     casper.clickLabel('next', 'a') 
     this.wait(2000, function() { 
      casper.then(getAllPages); 
     }); 


    } else { 
     casper.echo("END") 
    } 
} 
+0

還要注意的「a」上clickLabel結束 – Burf2000