var casper = require('casper').create({
viewportSize:{
width:1920,
height:1080
}
}); var url1 = 'http://jifen.yuyid.com'; var users = [{'username':'150****656','password':'xxxxxx'},{username:'username',password:'xxxxx'}];
casper.start(); var autoSingin = function(value,key){
//打开首页
casper.thenOpen(url1,function(){
this.captureSelector('jifen.png','html');
this.wait(1000); //this.wait方法挡不住当前回调函数下面代码的执行,只能延时下一步要执行的代码,比如下面这个casper.then
this.click('div.go-login');
}) //填充表单并登录
casper.then(function(){
//等待1s后执行这个回调
this.captureSelector('alert.jpg','html');
this.fill("form#login_form",value,false) this.captureSelector('filled.jpg','html'); this.click('a.login-btn');
this.wait(3000)
}) //点击签到打开窗口
casper.then(function(){
this.captureSelector('logined.jpg','html');
this.click('#sign-btn');
this.wait(1000);
}) //执行签到
casper.then(function(){
this.captureSelector('click-sigin.png','html');
this.click('.sign-btn-a');
this.wait(1000);
}) //签到成功
casper.then(function(){
this.capture('sigin-success-'+key+'.png');
this.click('.user>a')
}) } users.forEach(function(value,key){
autoSingin(value,key)
}) casper.run();

备注:fill方法可以用json键值对的形式填充表单数据,如果是fillSelectors方法,则必须是dom-value的形式,比如:

//'#TANGRAM__PSP_3__userName'为input的id
this.fillSelectors('form#TANGRAM__PSP_3__form',{
'#TANGRAM__PSP_3__userName':'150****6728',
'#TANGRAM__PSP_3__password':'keivn**168'
},false);

用casperjs模拟登录,支持多个账户登录的更多相关文章

  1. 配置联想IMM使用AD账户登录

    IMM是联想(IBM)服务器的管理卡Integrated Management Module的缩写,现在是第二个版本.通过它可以远程管理服务器,就像你在服务器面前操作一样.可以修改BIOS设置,可以重 ...

  2. 慎重管理SQL Server服务的登录(启动)账户和密码

    今天是大年初三,先跟大家拜个年,祝大家新年快乐.今天处理了一个alwaysOn问题——辅助副本因为磁盘空间不足一直显示[未同步——可疑],在日志中可以看到数据库处于挂起状态,与主副本失去同步.原以为只 ...

  3. 症状解决,原因不详的用非默认管理权限账户登录COM注册成功但找不到类型问题

    http://social.msdn.microsoft.com/Forums/en-US/11f01ceb-52a4-438f-b7ef-727ce7a3e191/atl-project-in-vs ...

  4. win10 用微软账户登录无法访问共享的问题

    百度找了一大堆可以解决的,最终最简单的方式(可能是bug): 测试了一下,Win10用微软账户登录的,连局域网共享时,输入用户名的时候,前面加个乱七八糟的域名就可以访问了: 比如: 用户名:   ba ...

  5. C#_自动化测试1_模拟post,get_12306火车票网站自动登录工具

    还记得2011年春运,12306火车票预订网站经常崩溃无法登录吗. 今天我们就开发一个12306网站自动登录软件. 帮助您轻松订票 通过前两篇博客Fiddler教程和HTTP协议详解,我们了解了Web ...

  6. ubuntu12.04管理员账户登录不了桌面,只能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,只能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录. 登录管理员账户时,输入密码后,一直在登录界面循环 费了好大劲啊 ...

  7. ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录

    ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,仅仅能客人会话登录. 登录管理员账户时,输入password后,一直在登录界面循 ...

  8. 如何取消Microsoft账户登录电脑

    手贱用Microsoft账户登录了一下笔记本里面的日历,TNND微软直接就把你电脑的登录账户直接改成了微软账户,花了1个小时才搞回去. 步骤如下: 0--脑残微软的设计,点了下日历,弹出下面这个,绝对 ...

  9. mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user 'mhz'@'localhost' (using password: YES)

    mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user 'mhz'@'localhost' (using password: YES) 解 ...

随机推荐

  1. java 第一个java程序

    public class Test16{ public static void main( String args[] ) { System.out.println ("welcome to ...

  2. 整合ssm框架之配置文件

    原文:https://blog.csdn.net/zwyanqing/article/details/53039591 ssm整合 一.applicationContext.xml 1.配置数据源 & ...

  3. CentOS7统计某个进程当前的线程数

    方式一: cat /proc/[pid]/status 展示结果中,Threads后边对应的数字就是进程拥有的线程数量 方式二: |wc -l

  4. CentOS下递归遍历文件夹下所有文件,查找指定字符

    命令如下: find . | xargs grep -ri "XXX"

  5. ios真机调试步骤

    http://blog.csdn.net/jianxuanlu/article/details/7283059 http://www.cnblogs.com/85538649/archive/2012 ...

  6. Inside NGINX: How We Designed for Performance & Scale

    NGINX leads the pack in web performance, and it’s all due to the way the software is designed. Where ...

  7. 内存问题的排查工具和方法– Clang的AddressSanitizer

    1 概述 Valgrind可以有效地监测处大多数内存问题,你肯定忍不住会想,既然c/c++的内存问题这么常见,为什么不在编译器中加入内存问题检测的功能呢? 很可惜,GCC中还目前还不支持内存检测,可喜 ...

  8. Python实现鸢尾花数据集分类问题——基于skearn的NaiveBayes

    Python实现鸢尾花数据集分类问题——基于skearn的NaiveBayes 代码如下: # !/usr/bin/env python # encoding: utf-8 __author__ = ...

  9. windows下如何生成gitlab ssh公钥

    1.查看是否已经有了ssh密钥:cd ~/.ssh如果没有密钥则不会有此文件夹,有则备份删除2.生存密钥: $ ssh-keygen -t rsa -C “你的邮箱”按3个回车,密码为空. Your ...

  10. HDU 1896 Stones (优先队列)

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Subm ...