Python练习:一个pyautogui模块实现校园网自动登录(懒人版)

用pyautogui库实现自动登录校园网

NTU为例:
工具Sublime Text代码编辑器、cmd控制台执行和测试程序、用于图像识别的小图标(wifi.pngcontact.pngenter.pngtelecom.png)、默认的浏览器(QQ浏览器)
在此之前需要提前安装opencv-python

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple
import pyautogui
from PIL import Image
import time  #需要用到time()


def find_click(img):
	#function:集成匹配图像和点击匹配图标
	pyautogui.click(pyautogui.center(pyautogui.locateOnScreen(img,confidence=0.6)))
	#虽说也不知道为啥精度调整到0.5就老是出错
'''
易于理解版
def find_click(img):
	icon_position=pyautogui.locateOnScreen(img) 返回指定图片的image对象
	icon_center_position=pyautogui.center() 获取图标的中心坐标位置
	pyautogui.click(icon_center_position)  点击中心位置
	功能:首先定位所给图标的位置,若无则返回None
	若存在就再找到图标的中心位置,再click图标的中心位置
'''

#step1:点击一次电脑上的wifi图标
find_click('wifi.png')
#step2:#鼠标向上移动700px然后点击ntu的wifi图标
pyautogui.moveRel(0,-700,duration=1)
pyautogui.click()

#step3:拖动鼠标点击按钮进行连接

'''
方法一:使用一下函数直接移动鼠标,缺点是定位不能精准
pyautogui.dragRel(260,130,duration=2)#连接按钮的相对位置
time.sleep(1)
pyautogui.click()
'''
#第二种方式:直接按图标定位
find_click('contact.png')

time.sleep(8)#等待网页显示,给浏览器充足的时间反应
#step4:找到中国电信图标telecom.png
#直接定位到相关圆点,以下位置已经经过测试
pyautogui.click(981,294)

#step5:鼠标单击输入框——使用鼠标拖拽dragRel()
pyautogui.dragRel(0,145,duration=0.1)#大概下移145个px
pyautogui.click()
#注意press和click的差别 press()模拟的时键盘按键的keyDown()按下和keyUp()释放


#step6:输入账号和密码
pyautogui.typewrite('xxxxxxx',0.1)
#这一栏输入账号
#warning:第二个参数不用加duration字段,直接填参数
pyautogui.dragRel(0,50,duration=0.1)
#鼠标下滑选中密码输入框
pyautogui.click()
pyautogui.typewrite('******',0.1)#这一栏输入密码


#step4:按下登录和关闭整个网页
enter=pyautogui.center(pyautogui.locateOnScreen("enter.png"))
pyautogui.click(enter)
#关闭登录页
#事先可以通过print(pyautogui.size())返回width和heighr 获得屏幕分辨率
#比如我的是 1920x1080的,由此预估关闭按钮的大致位置
pyautogui.click(1910,10)

!!个人学习自用,个人学习自用,个人学习自用,每个人操作系统和各种登录时的定位不一样,运行结果会存在差异。

感谢各位大佬的文章,灵感来源,参考文章如下:
1.女朋友让我深夜十二点催她睡觉,我有Python我就不干
2.Python基础之pyautogui模块(详细总结鼠标键盘操作)
3.PyAutoGui图像操作(二):图像定位不稳定解决方案

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只爱圣女果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值