前一段时间好多同事因为签到或代签原因被重重罚了一笔。呵呵,本着潜心研究技术的目地,私下搞了两套签到脚本,同时也是复习一下好久不用的Java技术。
一.前台模拟页面登陆
第一套采用的是一套开源的自动化框架:WebDriver,模拟从页面登陆,填写签到信息,最终端到签到的整个流程。
先介绍一下WebDriver框架,官方介绍内容如下:
WebDriver is a tool for automating testing web applications, and in particular to verify that they work as expected. It aims to provide a friendly API that’s easy to explore and understand, which will help make your tests easier to read and maintain. It’s not
tied to any particular test framework, so it can be used equally well with JUnit, TestNG or from a plain old “main” method.
翻译一下:
WebDriver是一套web应用的自动化测试工具,用于验证这些Web应用工作时是否达到预期。WebDriver旨在提供一套友好的API,易于研究与理解,可以使测试变得更容易,且易于维护。WebDriver并未绑定任何特殊的自动化框架,所以你可以很容易地将它和JUnit、TestNG,甚至可以直接从main方法开始写自动化。
签到登陆部分
1.看代码很容易就理解了,driver.findElement还是很好用的,除了不能直接抓取外(firefox下的webdriver是可以的,可惜咱的工作的系统不支持),支持从name、id、xpath等各种Web应用通常采用的查找方式。
01
|
WebDriver
driver = new InternetExplorerDriver();
|
06
|
driver.findElement(By.name( "userId" )).sendKeys(USERNAME);
|
07
|
driver.findElement(By.name( "userPwd" )).clear();
|
08
|
driver.findElement(By.name( "userPwd" )).sendKeys(PASSWORD);
|
09
|
driver.findElement(By.xpath( "//input[@type='submit']" )).sendKeys(
|
14
|
TimeUnit.SECONDS.sleep( 3 );
|
15
|
} catch (InterruptedException
e) {
|
上面代码执行完成之后就到了如下界面:
2.点击“签到/签退”链接并签到
这个时候处理就有点棘手了,因为必须要先点左边的“签到/签退”才能到真正要签到的页面,而左侧整个版本是在一个iframe中。熟悉Web开发的人肯定都知道,一个iframe就是一个页面,因此直接在当前页是获取不到这个“签到/签退”链接,必须要进入iframe页面才行,右半边也是同样的道理,好在WebDriver可以很方便的切换iframe,代码如下:
02
|
driver.switchTo().frame( "leftFrame" );
|
03
|
driver.findElement(By.linkText( "签到/签退" )).sendKeys(Keys.ENTER);
|
07
|
TimeUnit.SECONDS.sleep( 3 );
|
08
|
} catch (InterruptedException
e) {
|
再用同样的方式跳转到右侧后,真正的工作就开始啦~~嘿嘿,短短两行代码,结果你懂的:
2
|
driver.findElement(By.id( "remark" )).sendKeys(content);
|
4
|
driver.findElement(By.xpath( "//input[@value='签到']" )).sendKeys(
|
虽然做完很兴奋,冷静下来这个明显还是有问题的,模拟用户操作的方式会存在很多问题,比如刚拷到白云的机器上试了一下,就有问题,弹出了一个没有预期的窗口,程序直接就中断了。
问题分析如下:
模拟操作时各种异常没能考虑。
没有定时执行的功能。
只有数十行代码,但涉及的资源包太多,打成JAR包后运行就已经有十几M了,相当臃肿。
分享到:
相关推荐
崩坏3自动化每日任务脚本
自动签到脚本.zip
Hao4K 自动签到脚本.zip
一键签到Python脚本是一个用于自动执行签到操作的程序。以下是一般步骤的描述: ... ...从响应中获取登录凭证,例如cookies或token等。 发送签到请求:使用已获得的...在使用任何自动化脚本之前,请确保已经获得充分的授
利用github actions实现百度贴吧自动签到脚本,每日自动签到,获得8点经验。.zip
青龙面板的脚本,包括B站,兑换实物,酷够刷金币,美团,泡面,撸红包 - 0.99秒到,ks自动开宝箱签到脚本等等。 奖励丰厚
签到脚本框架。零成本,无需服务器,无需部署,适用于“金山文档”中AirScript自动化执行.zip
Auto.js是一款自动化软件,根据脚本内容便可以自动地执行相关的操作,并且手机无需root 使用JavaScript和Node.js实现你想实现的一切。 Auto.js Pro可以将日程繁琐重复的工作用JavaScript代码实现,让机器代替你的...
本脚本基于auto.js编写,针对京东的东东农场活动,功能包括:自动签到、自动浏览、自动领取水滴、自动浇水等。
2020淘宝+京东+支付宝双十一|双11全民养猫|全民营业自动化脚本【全额奖励,防检测】 支持淘宝\支付宝\京东双11任务自动执行 淘宝 支持自动【签到】 支持自动【领取奖励】 支持自动做【去完成】类任务 支持自动做【去...
蚂蚁积分签到 此项目已废弃,不再开发 签到已经整合到了聚合签到中其他脚本基于AutoJS实现的自动领取支付宝积分脚本每日领取支付宝积分使用说明下载安装 之后把整个脚本项目放进 "/sdcard/脚本/" 文件夹下面。...
京东自动签到,浇水等薅羊毛脚本.zip
双十一助手v1.0 自动做任务 软件介绍 双十一小助手来了,同时支持京东+淘宝双11自动化任务功能!可自动赚金币+签到,全自动操作,并且支持调速兼容旧版本手机过卡问题,这个双十一拥有此软件即可。
使用NobyDa“京东多合一签到脚本”为基础,移植到github动作自动化执行。 触发方式 点亮Star 凌晨4点定时执行 自定义:.github / workflows / work.yaml编辑 使用用法 点击右上角Fork项目; Settings -> Secrets中...
本脚本基于auto.js编写,针对京东推出的各种领京豆活动,包括每日签到领京豆、美妆馆签到、宠物馆签到、美使馆签到等等。采用意图直接跳转的方式,出错率极低,每天至少可领20个京豆以上,连续签到更多
自动完成米游币任务 论坛区签到 阅读帖子 点赞帖子 分享帖子 安全提醒 1工作流程是所有注册用户都可见的,包括log,在旧版本中有一些log,可能会导致你们的cookie字符串,请所有运行旧版本的及时更换成新版本,并...
作为上马9年没中签的受害者,我决定做一个`自动化脚本`来签到赚积分,虽然积分对于抽签的权重未可知,但是已知的是一定有用,至于作用多大? 且看后续的上马抽签结果吧·· 关于Job执行时间 签到Job执行时间是**...
使用NobyDa “京东多合一签到脚本”为基础,移植到github actions自动化执行。 触发方式 点亮Star 凌晨4点定时执行 自定义:.github/workflows/work.yaml 编辑 使用用法 点击右上角 Fork 项目; Settings -> Secrets...
定时定点自动化抢购 查询商品的历史价 使用说明:首先确保你手机的Android版本大于7.0,然后授予无障碍和悬浮窗权限权限后选择要执行的任务点开始运行就ok 注意事项:这里重点说一下某宝的双十一任务如果只有几百...