2012-09-10 56 views
2

我一直在嘗試創建一個登錄腳本來檢查我用CasperJS的bing獎勵積分,我正在查看調試輸出,除非它沒有成功登錄,否則一切看起來都很好。 (所以我的帳戶獎勵沒有顯示)。我已經在Chrome控制檯中測試了這一點,並避免使用casper.fill,因爲它會刷新登錄頁面。登錄信息是一個工作測試帳戶。用casperJS登錄必應搜索

var system = require('system'); 
var utils = require('utils'); 

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

var binglink = "https://login.live.com/ppsecure/post.srf?wa=wsignin1.0&rpsnv=11&ct=1347289667&rver=6.0.5286.0&wp=MBI&wreply=https:%2F%2Fssl.bing.com%2Fsecure%2FPassport.aspx%3Frequrl%3Dhttps%253a%252f%252fssl.bing.com%252faccount%252frewards%253fru%253dhttp%25253a%25252f%25252fwww.bing.com%25252f&lc=1033&id=264960&bk=1347289670"; 

casper.start(binglink, function() { 

    casper.evaluate(function() { 
     document.querySelector('input[type="email"]').value = "[email protected]"; 
     document.querySelector('input[type="password"]').value = "genericpassword"; 
     document.querySelector('input[type="submit"]').click(); 
    }); 

}); 

casper.then(function(){ 
    this.wait(2000); 
}) 
casper.then(function(){ 
    this.echo("Capturing Page"); 
    this.capture('bing.live.png'); 

}); 

casper.run(); 

回答

2

我一直在做類似的事情,這就是我如何管理登錄到他們的網站。

var username = '[email protected]', password = 'password'; 
var casper = require('casper').create({ 
    pageSettings: { 
     userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.10 (KHTML, like Gecko) Chrome/23.0.1262.0 Safari/537.10' 
    }, 
    viewportSize: { 
     width: 1024, 
     height: 768 
    }, 
}); 

casper.start('http://www.bing.com/rewards/signup/signin', function goToLoginPage() { 
    this.click('#WLSignin'); 
}); 
casper.then(function fillLoginDetails() { 
    this.fill('form[name="f1"]', { 
     'login': username, 
     'passwd': password, 
     'KMSI': true 
    }, false); 
}); 
casper.then(function clickButton() { 
    this.click('input[name="SI"]'); 
}); 
casper.run(function() { 
    this.exit(); 
});