使用casperJS登录Bing搜索

时间:2012-09-10 15:47:46

标签: phantomjs casperjs

我一直在尝试使用CasperJS创建一个登录脚本来检查我的bing奖励积分,我正在查看调试输出,一切看起来都很好,只是它没有成功登录。 (所以我账户上的奖励没有显示)。我在chrome控制台中对此进行了测试,并避免使用casper.fill,因为它会刷新登录页面。登录信息是一个有效的测试帐户。

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 = "genericemail@live.com";
        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();

1 个答案:

答案 0 :(得分:2)

我一直在做类似的事情,这就是我登录他们网站的方式。

var username = 'username@gmail.com', 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();
});