casperjs模拟登录-jd无验证码签到
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了casperjs模拟登录-jd无验证码签到相关的知识,希望对你有一定的参考价值。
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(‘http://vip.jd.com/‘); casper.then(function(){ this.wait(5000,function() { this.echo("I‘ve waited for 5 seconds again"); }); }); //可删除 casper.then(function() { this.capture("vipjdcom1.jpeg"); }); casper.then(function(){ if (this.exists("#ttbar-login")) { this.click("#shortcut-2014 .w .fr #ttbar-login a"); }else{ this.echo("not exists"); } }); casper.then(function(){ this.wait(10000,function() { this.echo("I‘ve waited for 10 seconds again"); }); }); //可删除 casper.then(function() { this.capture("accountloginui1.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("accountloginui2.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‘:‘[email protected]‘, ‘nloginpwd‘:‘dys19871119‘, },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("vipjdcom2.jpeg"); }); casper.then(function() { this.click(".side-shortcut #checkinBtn .icon-set"); }); casper.then(function() { this.wait(2000,function() { this.echo("I‘ve waited for 2 seconds again"); }); }); casper.then(function() { this.capture("vipjdcom3.jpeg"); }); casper.then(function() { this.echo("签到成功"); }); casper.run();
本文出自 “素颜” 博客,请务必保留此出处http://suyanzhu.blog.51cto.com/8050189/1900600
以上是关于casperjs模拟登录-jd无验证码签到的主要内容,如果未能解决你的问题,请参考以下文章