Прежде всего, я бы порекомендовал использовать verbose
и logLevel
для тестирования следующим образом:
var casper = require('casper').create({
verbose: true,
logLevel: "debug"
});
Также вы можете использовать обещание then
чаще. Поверьте мне, это помогает куче .
Использование waitForSelector
для спасения.
Ниже вы можете найти другую версию вашего кода.
casper.start("https://portale.spefin.it/anagraph/legalperson/atc").then(function(){
this.waitForSelector("form[name='login']", function(){
/*form found*/
//the [true] parameter will submit the form, no need for the button click
this.fillSelectors("form[name='login']",{
'input#username' : "XXXXXXXXX",
'input#pw' : "XXXXXXXX"
}, true);
this.then(function(){
//possibly no need for the wait but...
//if you really want to use it
this.wait(5000,function(){
//In my honest opinion you don't need the [switchToChildFrame]
//but instead use [waitForSelector]
this.waitForSelector("form[name='advancedFilterForm']", function(){
/*form found*/
//the [true] parameter will submit the form
this.fillSelectors("form[name='advancedFilterForm']",{
'input#tax_code' : "11057560150"
}, true);
this.then(function(){
this.waitForSelector(".area-status", function(){
/*element found*/
//do what you must perhaps get the info
require('utils').dump(this.getElementInfo('.area-status'));
}, function(){
/*element not found*/
})
});
},function(){
/*could not find advancedFilterForm*/
})
});
});
},function(){
/*form not found*/
});
});
Примечание: этот код не был проверен.
Надеюсь, это поможет.:)
Хорошие выскабливания