2015-01-29 4 views
0

Я новичок в casperJS. Я установил casperJS 1.0.4 и phantomJS 1.8.2 на окнах 8.CasperJS 1.0.4 - ошибка в этом.getElementsInfo()

Моя цель - очистить некоторые данные от сети. Я хочу открыть это webpage и получить список городов в Вермонте. Я воспроизвел код, указанный Victor W Yee. Когда я запускаю код, он открывает нужную страницу, я сделать снимок его как проверки, но когда я пытаюсь и извлекать данные из таблицы я получаю ошибку на этой линии: говорит

var town_names_info = this.getElementsInfo(town_selector); 

Ошибка:

TypeError: 'undefined' is not a function(evaluating'this.getElementsInfo(town_selector)') 
F:/Trial Codes/intro to casper_JS/Vermont/vermont.js:21 
F:/Trial Codes/intro to casper_JS/Vermont:1335 in runStep 
F:/Trial Codes/intro to casper_JS/Vermont:332 in checkStep 

Любые предложения?

Мой весь код:

var utils = require('utils'); 
var casper = require('casper').create({ 
verbose: false, 
logLevel: 'debug' 
}); 

var url = 'http://en.wikipedia.org/wiki/List_of_towns_in_Vermont'; 
var town_selector; 

casper.start(url, function() { 
this.capture("result1.png"); 
this.echo("* "+this.getTitle()+" *"); 
}); 

casper.then(function() { 
// Get info on all elements matching this CSS selector 
town_selector = 'table[id="sortable wikitable"] tbody tr td:nth-of-type(2)'; 

var town_names_info = this.getElementsInfo(town_selector); // an array of object literals 

// Pull out the town name text and push into the town_names array 
var town_names = []; 
for (var i = 0; i < town_names_info.length; i++) 
{ 
town_names.push(town_names_info[i].text); 
} 

// Dump the town_names array to screen 
utils.dump(town_names); 

}); 

casper.run(function() { 
this.exit();  
}); 

ответ

0

getElementsInfo() был добавлен в CasperJS версии 1.1 (обратите внимание на зеленую ноту на странице). Вы можете использовать 1.1.0-beta3, потому что эта «бета-версия» на самом деле стабильна. Пока вы обновляете, вы должны использовать более современную версию PhantomJS, такую ​​как 1.9.7 или 1.9.8 (есть некоторые проблемы с CasperJS).