您的位置:首页 > 编程语言 > ASP

casperjs模拟登录-jd无验证码登录

2017-02-23 15:25 387 查看
var casper = require('casper').create({
clientScripts:[
'E:/jquery.js'
]
});
var accountLogin = '.login-form .login-tab-r a';
var hidestr = "hide",has_verify = false;

casper.start('https://passport.jd.com/new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F');

casper.then(function(){
this.wait(5000,function() {
this.echo("I've waited for 5 seconds again");
});
});

//可删除
casper.then(function() {
this.capture("accountlogin1.jpeg");
});

casper.then(function(){
if (this.exists(accountLogin)) {
this.echo("exists");
this.click("#content .login-wrap .w .login-form .login-tab-r a");
}else{
this.echo("not exists");
}
});

casper.then(function(){
this.wait(2000,function() {
this.echo("I've waited for 2 seconds again");
});
});

//可删除
casper.then(function() {
this.capture("accountlogin2.jpeg");
});

casper.then(function(){
if (this.exists("#o-authcode")) {
this.evaluate(function(){
var oauthcode = document.getElementById("o-authcode");
var classValue = oauthcode.className;
if (classValue !=null) {
if (classValue.indexOf(hidestr) > 0) {
has_verify = false;
}else{
this.captureSelector("./jdcode.jpeg","#JD_Verification1");
has_verify = true;
}
}
});
}
});

casper.then(function(){
this.wait(2000,function() {
this.echo("I've waited for 2 seconds again");
});
});

casper.then(function(){
if (has_verify) {
this.echo("需要输入验证码");
}else{
this.fill('form[id="formlogin"]',{
'loginname':'xxx',
'nloginpwd':'xxx',

},true);
}
});

casper.then(function(){
this.click(".login-btn a");
this.echo("登录中...");
});

casper.then(function() {
this.wait(10000,function() {
this.echo("I've waited for 10 seconds again");
});
});

casper.then(function() {
this.echo('new location is ' + this.getCurrentUrl());
this.capture("jd.jpeg");
});

casper.run();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息