我一直在尝试创建一个登录脚本来使用 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 = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d7b0b2b9b2a5beb4b2bab6bebb97bbbea1b2f9b4b8ba" rel="noreferrer noopener nofollow">[email protected]</a>";
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();
最佳答案
我一直在做类似的事情,这就是我管理登录他们网站的方式。
var username = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4c393f293e222d21290c2b212d2520622f2321" rel="noreferrer noopener nofollow">[email protected]</a>', 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();
});
关于phantomjs - 使用 casperJS 登录 Bing 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12355130/