用 Python 换个姿势「模拟登录」

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

作者:librauee

原文:https://segmentfault.com/a/1190000021808399

今天给大家介绍Python一个非常有意思的库PyUserInput,它集成了PyMouse和PyKeyboard这俩模块,能够模拟鼠标和键盘的操作,可以说是轻量级的按键精灵。我们可以用这个库来进行一些机械的重复操作,也可以作为小游戏的脚本。

俗话说得好,工欲善其事,必先利其器,我们需要先将PyUserInput安装。

模块安装

不同的操作系统需要安装不同的依赖:

  • Linux - Xlib

  • Mac - Quartz,AppKit

  • Windows - pywin32,pyHook

在Windows系统中,pywin32是已经默认安装的,我们仅需要安装pyHook,

pyHook下载链接

在此页面下载与自己电脑相匹配的版本,并进入该whl文件所在位置,输入命令即可成功安装。

pip install xxxxxx.whl

安装完依赖之后,我们只要在命令行输入如下命令即可大功告成。

pip install PyUserinput

简单使用

首先,导入pymouse和pykeyboard库,并创建鼠标以及键盘对象。

from pymouse import PyMouse
from pykeyboard import PyKeyboard

m = PyMouse()
k = PyKeyboard()
  • 鼠标

x_dim, y_dim = m.screen_size()
# 获取屏幕尺寸
m.move(100, 100)
# 移动鼠标到某坐标,该坐标以左上角为(0,0)
m.click(100, 100, 1, 1)
# 在(100, 100)的位置单击左键一次

在click方法中,前两个参数为位置的坐标,第三个参数为按键选项,1表示鼠标左键,2表示右键,而最后一个参数表示点击的次数。

  • 键盘

k.type_string("Laofei NB!")   #输入字符串
k.press_key("S")              #按下S键
k.release_key("S")            #松开S键
k.tap_key("S")                #点击S键

另外还可以有组合按键,比如最常用的复制Ctrl+C。我们先按下Ctrl键,再点击C键,最后释放Ctrl键,一气呵成,完成这人生中最幸福的操作之一:复制

k.press_key(k.control_key)
k.tap_key('c')
k.release_key(k.control_key)

模拟登录

在完成前面的基础学习之后,我们来实战一下用Python模拟鼠标键盘的操作。以前都用Selenium,今天就换个姿势来模拟登录~

file

这个思路应该是非常清晰的,先用鼠标实现定位,键盘输入邮箱账号以及密码,接着利用鼠标拖动滑块至底部,最后再点击登录按钮实现登录。

# 输入邮箱账号以及密码
m.move(590,370)
m.click(590,370,1,1)
k.type_string('laofei@520.com')
time.sleep(1)
m.move(590,440)
m.click(590,440,1,1)
k.type_string('memeda')
time.sleep(1)
# 拖动滑块
m.move(590,510)
m.press(590,510,1)
time.sleep(1)
m.move(1000,500)
time.sleep(2)
# 点击登录按钮
m.click(590,600)
login

完美!

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「m」,立即获取Python精选优质文章合集
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
题图:pexels,CC0 授权。

好文章,我在看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值