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();