Вход в поиск Bing с помощью casperJS

Я пытался создать сценарий входа в систему, чтобы проверить свои баллы вознаграждения bing с помощью CasperJS, я смотрю на вывод отладки, и все выглядит нормально, за исключением того, что он не входит в систему успешно. (Поэтому награды на моем аккаунте не отображаются). Я проверил это в консоли 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 = "[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();

person user1660601    schedule 10.09.2012    source источник


Ответы (1)


Я работал над чем-то подобным, и именно так мне удалось войти на их сайт.

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();
});
person hexid    schedule 19.09.2012