问卷星自动填写,智能验证和滑动块

之前在 这里 介绍了基本的问卷星填写方法,然而博主在之后自动填写时发现经常需要智能验证,而且还加一个滑动块拖动,于是今天继续研究一下添加这个功能。

下面的示例是电脑版的问卷星页面,博客里的 ff3.png 改为
在这里插入图片描述

智能验证

这个就是一个点击的问题,这个点击可以放在 pyautogui 也可以放在js 中,当然放在Js中最简单,虽然有时候不会出现,但是写上也不会报错。

于是js部分代码变成了,

// getById("ctlNext").click() 这个是手机版
getById("submit_button").click()
window.scrollTo(0, document.documentElement.clientHeight*8); // 拉到最下面
getById("rectMask").click() // 点击只能验证

这里就不加延时等待了,似乎这个验证按钮是瞬间出现的,即直接用js代码调出来的没有进行提交。

滑块拖动

这里由于涉及提交因此有延时,我打算放到pyautogui中,思路还是用图片检测到滑块位置,然后拖动完成。
使用图片ff5.png
在这里插入图片描述

...
pyautogui.keyDown('Enter')
    
time.sleep(2)
cnt=0
while True:
    cposition = pyautogui.locateOnScreen('pics/ff5.png')
    if cposition: break
    time.sleep(0.5)
    cnt+=1
    if cnt>6: exit()
    
cc = pyautogui.center(cposition)
pyautogui.moveTo(cc[0],cc[1]) 
time.sleep(0.5) # 好像不能太快,会出错
pyautogui.dragRel(512, 0, duration=1) # duration 也不能太小

至此终于全自动了,希望不要再改了。这种每天都要提交一次的文件,官方给出自动填写脚本好,不过这次也增加了自己自动化的知识,虽然不难,但是作用很大,收获很多。

发布了109 篇原创文章 · 获赞 34 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/ChangHongJian/article/details/104833432