2
我想將數組中的多個URL傳遞到以下示例代碼中。將參數傳入casperjs.start
casper.start('http://www.weather.com/', function() {
this.captureSelector('weather.png', '#wx-main');
});
casper.run();
我想某種程度上想創建一個for循環來運行這段代碼,而將URL替換爲一個存儲在數組中的URL。
當我試圖將任何參數傳遞給它時,我只是得到錯誤。
我的「代碼」:
links = [
'http://www.cnn.com/',
'http://www.weather.com/',
'http://www.google.com/',
'http://www.stackoverflow.com/'
]; //array of links
casper.echo(links.length +' included links.'); //total number of links in array
//begin for loop of urls
for (i = 0; i < links.length; i++) {
casper.echo(links[i]);
function captureurl(links[i]);
}
function captureurl(cpurl){
casper.start(cpurl, function() {
this.captureSelector('capture/capture'+i+'.png', '#body');
});
casper.run();
}
for循環能夠上市的環節,但每當我嘗試任何參數傳遞到這裏拋出錯誤:casper.start(cpurl,函數(){
感謝所有幫助任何人都可以給我
我想你只能調用一次。開始 - 你想.thenOpen – nrabinowitz
所以由於某種原因,我似乎無法通過任何使用功能參數我的網址的。有沒有什麼明顯的,我正在做的事情呢?該循環將愉快地顯示數組「casper.echo(links [i])」中的所有元素,但該函數並沒有給我提供任何信息。 –
好的!經過相當多的修補之後,我把這個函數分成了兩個單獨的函數,在for循環中有一個if語句,用於確定它是否首次捕獲數組(使用.start),然後使用.thenOpen。儘管我還沒有在一個更大的陣列上測試它,但它仍然工作得很好,但我希望它能夠工作!感謝您的建議!作爲一個總的新手,並且比我可以咀嚼這個項目(我唯一保持興趣和學習的唯一方式)稍微咬人,你的幫助非常棒! –