今天老肥将为大家介绍一个python库
pyuserinput,这个库集成了pymouse和pykeyboard两个模块,可以模拟鼠标和键盘的操作,堪称轻量级的按键精灵。
我们可以利用这个库来执行一些重复的机械操作,或者作为小游戏的脚本。正如俗话所说,工欲善其事,必先利其器,我们首先需要安装PyUserInput。
根据不同的操作系统,模块安装需要不同的依赖:
在Windows系统中,pywin32已经默认安装,我们只需安装pyHook。pyHook的下载链接可在「阅读原文」中找到。
下载与您电脑相匹配的版本后,进入该whl文件所在的位置,输入以下命令即可完成安装。
pip install xxxxxx.whl
安装完依赖后,我们只需在命令行中输入以下命令即可完成PyUserInput的安装。
pip install PyUserInput
接下来是简单的使用方法。首先,我们需要导入pymouse和pykeyboard库,并创建鼠标和键盘对象。
from pymouse import PyMouse from pykeyboard import PyKeyboardm = 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,今天我们将尝试另一种方法来模拟登录。
思路非常清晰:首先用鼠标定位,键盘输入邮箱账号和密码,然后用鼠标拖动滑块至底部,最后点击登录按钮完成登录。
# 输入邮箱账号以及密码
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)
整个登录过程流畅无阻,如下图所示。