7-python库之-pyautogui鼠标键盘控制、图片位置查找
还是在自动化上面的应用,对于web的测试可以使用selenium来获取元素,进行按键控制或者文字输入,模拟用户操作实现自动化。可是对于非web的win桌面应用,我们就没办法了,这时候就需要向按键精灵那样,去查找对应的位置进行点击了。
pip install pyautogui
1.鼠标控制
移动到对应的坐标,然后点击
import pyautogui# 2秒钟鼠标移动到坐标为100,100的位置
pyautogui.moveTo(x=100, y=100, duration=2)# 鼠标左击一次
pyautogui.click()
获取屏幕分辨率,鼠标当前位置
# 获取当前屏幕分辨率
screen_w, screen_h = pyautogui.size()# 获取当前鼠标位置
current_X, current_y = pyautogui.position()
移动到相对位置
#2秒钟鼠标移动到现在鼠标所在位置的相对移动 ,向右移动10,向下移动10
pyautogui.moveRel(xOffset=10, yOffset=10, duration=2)
鼠标单击、双击、右击、中击
# 鼠标左击一次
pyautogui.click()
# 这个函数还有很多参数,可是实现单击、双击、右击、中击,只需要改对应的参数就行
# pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 不过我们一般不使用pyautogui.click()去弄各种击,因为记不住,就使用一下封装好的函数# 鼠标双击
pyautogui.doubleClick()# 鼠标置3击
pyautogui.tripleClick()# 右击
pyautogui.rightClick()# 中击
pyautogui.middleClick()# 鼠标当前位置滚轮滚动
pyautogui.scroll()
鼠标拖拽
#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)
2.键盘控制
输入信息,但是只能输入字符串,不能输入中文
# 2秒钟鼠标移动到坐标为500,500的位置
pyautogui.moveTo(x=500, y=500, duration=2)# 鼠标左击一次
pyautogui.click()# 输入信息
pyautogui.typewrite(message='test',interval=0.5)
按住、放开,键盘上的字符都可以
# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')
按一下
#按一下ESC键
pyautogui.press('esc')
组合键
# 组合键
pyautogui.hotkey('ctrl', 'c')
3.截屏
在实际应用中有一个用法,截取对应位置的文字,然后将图片转化成文字,这个这pytesseract章节说明
# 截取整个屏幕
img = pyautogui.screenshot()
img.save('img.png')# 截取指定位置、大小的图片
img = pyautogui.screenshot(region=[10, 20, 30, 40]) # x,y,w,h
img.save(img)
4.查找图片所在的位置
这个功能还是比较常用的,找到对应的位置,点击
img_location = pyautogui.locateOnScreen(image='img.png')
logging.info("img location %s", img_location)if img_location:# 获取图片的中心位置,然后点击x, y = pyautogui.center(img_location)pyautogui.moveTo(x, y, duration=1)pyautogui.click()logging.info("click img_location...")
7-python库之-pyautogui鼠标键盘控制、图片位置查找相关推荐
- Qt Quick 3D学习:使用鼠标键盘控制节点位置和方向
(注意,开源版的 Qt Quick 3D 是狗都不用的 GPL 协议) Qt Quick 3D 模块提供了 WasdController 类型来控制节点的位置和方向,受控节点一般是 Camera.( ...
- python热键+鼠标键盘控制
python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...
- Py之PyAutoGUI:python库之PyAutoGUI的简介、安装、使用方法
Py之PyAutoGUI:python库之PyAutoGUI的简介.安装.使用方法 目录 PyAutoGUI的简介 PyAutoGUI的安装 PyAutoGUI的使用方法 PyAutoGUI的简介 P ...
- openGL绘制带纹理地球,并实现鼠标键盘控制
openGL系列文章目录 文章目录 openGL系列文章目录 前言 一.绘制球体 二.关键代码 球体类(Sphere) 主函数 顶点着色器 片元着色器 显示效果 源码下载 参考 前言 openGL绘制 ...
- Mouse Without Borders 一套鼠标键盘控制多台电脑
当我的桌子上除了笔记本之外还多了一个台式机后,两个鼠标,两个键盘就显得十分多余,于是开始探索怎样用一套鼠标键盘控制多台电脑... 首先搜到的是这玩意--KVM切换器 在他49个赞的诱惑下,我还去淘宝搜 ...
- android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程
网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...
- android usb鼠标,用鼠标键盘控制你的Android手机完整图文教程
网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...
- android键盘管理,用鼠标键盘控制你的Android手机完整图文教程
32路伺服电机控制器V3.0 官方安装版 类型:编程辅助大小:15.0M语言:中文 评分:7.5 标签: 立即下载 网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都 ...
- 一套鼠标键盘控制两台电脑-绝!
Oliver's R&D Lab C/C++/Linux 一套鼠标键盘控制两台电脑-绝! 这个工具是推荐给双电脑工作人员的,不是的就不用往下看了,嗯. synergy-----按照它主页( h ...
最新文章
- oracle XE解决端口占用等问题
- android 同步执行方法吗,Android异步方法以同步方式实现
- linux编译内核实验,实验六 Linux内核编译实验.doc
- webpack [记录]
- 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型
- Spring Boot集成Redis,这个坑把我害惨了!
- Call to undefined function imagettftext()解决方法
- 采用循环链表结构求解约瑟夫问题
- 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据
- 动态生成WizardPage
- Java IO _打印流
- 在校大学生研究生软著申请详解及模板下载
- C# ASP.NET WebApi入门
- Echarts制作标签云图
- 打飞机小游戏html代码,JavaScript用200行代码制作打飞机小游戏
- 众安运维监控平台,构建devops一体化监控和运维体系
- MATLAB实现最小二乘法
- Solidity中文文档(内部)
- 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法
- 【DaVinci Developer专题】-38-Exclusive Area介绍+配置