利用按键精灵提高百度快判提交效率
1、百度快判答题过程
大部分类似于选择题,选择一个选项然后进行提交
但是选择一个选项后无法立即提交,还需要通过按capslock建或者→,或者通过点击下面的按钮提交,然而这是个多余的步骤,我们可以通过按键精灵来替我们按→键来完成后面的提交


2、优化加载题目
当提交之后,就开始加载下一题,可以轻易发现,这加载过程会耗时1~2秒,1~2秒,基本又可以做1题了,加载题目的这1~2秒可以说完全是浪费的,不必要的,那么我们可以通过双浏览器的方式,去忽略这1~2秒
原理:浏览器A提交之后,切换到浏览器B,此时浏览器A在后台加载题目,当B提交之后切换回到A,此时题目早已经加载好了,不用等1~2秒,可以直接提交,同样原理


3、按键精灵的介绍与安装
了解完快判的答题机制以及双浏览器提交之后,多数是觉得更加麻烦的,为什么这样说,毕竟原本只是用鼠标点几下能提交的,现在还要按Alt+Tab来切换浏览器,其实不会麻烦,反而是极有效提交了效率
按键精灵的目的就是模拟鼠标键盘的操作,来代替手动,而且语句简单,使用方便,可以在提交之后,通过脚本来模拟Alt+Tab
在百度搜索按键精灵,然后点击下载,双击下一步的安装

4、创建按键精灵脚本
打开按键精灵,点击新建脚本
选择空白脚本,点击源文件
然后我们就可以编辑我们的脚本程序



5、循环执行
首先编辑器里面输入While True,然后回车,末行会自动添加Wend,While到Wend中间的代码,是重复执行的
为什么是Ture不是一个具体的次数,因为不知道我们答题要答多少次才不答,所以无限循环,可以通过热键来停止脚本

6、切换浏览器
在循环体里面输入
KeyDown "Alt", 1(按下Alt键,1次)
KeyPress "Tab", 1(按Tab键,1次)
KeyUp "Alt", 1(放开Alt键,1次)
这是为了在提交之后,执行代码代替手动来完成切换浏览器

7、触发切换浏览器
这需要一个条件来触发切换浏览器,那就是提交了
可以通过CapsLock键,或者→键来提交,那么我们可以加上
MyKey = WaitKey()(等待一个按键输入,把键值保存到变量MyKey)
If MyKey = 20 or 39 Then:(如果MyKey的键值等于20或者39,那么执行下 面程序,到End If结束,如果不等于,不执行)
切换浏览器
End If
这段代码要把上面那段切换浏览器的代码包围

8、使用单击替代CapsLock键(→键)
到这里其实还可以优化一下,比如选择了选项,还要按一次CapsLock键来提交,那么能不能在单击选择选项之后,通过脚本按CapsLock,这是可以的
MyKey = WaitKey()改为MyKey = WaitClick()
If MyKey = 20 or 39 Then:改为If MyKey = 32769 Then:
并且在下面加2句
Delay 100(延时100毫秒)
KeyPress "CapsLock", 1(按CapsLock,1次)
WaitKey是等待按键动作,WaitClick是等待鼠标动作,键值可以通过左边的面板查询(鼠标键值在下面也可以查询),延时是为了给浏览器反应时间


9、使用按键精灵
到这里就可以使用按键精灵了,按调试
然后打开2个浏览器,分别打开快判,分别进入到答题模式
先自己按Alt+Tab,切换浏览器,确保按一次可以切换到另外一个浏览器
然后按F10来启动按键精灵,需要停止的时候按F12


10、验证码与弹窗的问题
先说说弹窗问题,有时候,不小心点击了非选项坐标,会提示,先选择一个选项,这个时候因为脚本自动切换浏览器了,所以先不用管他,等下次切换回来点击确定,当再次出现的时候,可以把禁止此页再显示对话框勾上。
如果遇到验证码,用同样的方法,等待再切换回来的时候再去一步步的处理,不必要按F12停止脚本,这样太耗时


1、基于上方法,可以增强一下,但是相对上面会麻烦一点
利用按键来触发脚本,使鼠标点击指定坐标,这样可以把移动鼠标这个动作都省了,下面只说大概原理与思路,不说方法,因为变数太多,不好写
2、先点击按键精灵的抓抓,把鼠标放在选项,分别得到每一个选项的坐标
注意:由于浏览器不同,可能位置不一样,我们使用一个浏览器打开2个窗口,还有就是需要翻页才能显示全的网页,可以通过END键直接到最后,得到选项的绝对坐标。最方便是一些语句短的,通常所有选项都是在同一个位置上。如果因为位置不一定,那么可以通过放大网页确保能END到最后。所以说这个变数太多,需要自己根据具体情况来写


3、通过if来判断按键,以及把鼠标移到指定位置
确定选项的绝对坐标位置之后,可以到这一步,比如把小键盘123设置为选项123的触发,这样就可以通过按123来提交选项,不用移动鼠标,也是比较方便
4、当确定选项的绝对坐标之后,可以通过条件判断语句,来完成这个脚本
比如,有2个选项,那么我把它设置为数字12键(键值分别是97,98)
如果按下了1,那么鼠标移动到预先设定的600,750
如果按下了2,那么鼠标移动到预先设定的600,790
判断按键结束,接着到判断是否为选项的按键
如果是按了1或者2,那么执行下面代码
单机鼠标一次,等待0.1秒,按CapsLock提交,按Alt+Tab切换浏览器
当这次执行完成后,又回到循环体开头,等待按键输入
