python 控制库_python中实现自动化控制pyautogui库使用方法介绍
大家在使用电脑中,有时候需要电脑进行一些繁锁的程序化操作。Python中有一个第三方库,能够帮助大家实现自动化控制电脑完成指定任务。这个库叫pyautogui库。今天,咿哑呀就简单地教大家怎样使用这个库。
要使用pyautogui库,就需要在系统终端窗口安装这个库,安装命令:pip install pyautogui,等系统安装成功后,就可以在脚本编辑窗口导入啦。导入代码如下:
import pyautogui as gui
gui.PAUSE=0.5 #每次函数调用后暂停0.5秒
gui.FAILSAFE=True #启动自动防故障功能
注意,这里将pyautogui库重命名为gui,是为了使用方便。这个库可以处理电脑屏幕、鼠标、键盘等电脑硬件资源。下面,我们就先从处理电脑屏幕开始介绍:
获得屏幕大小用W,H=gui.size(),W、H就分别表示屏幕的宽、高;要截屏可以用im=gui.screenshot(),im就是截取的屏幕快照图片;如果要获得屏幕上(x,y)坐标的颜色值,可以用RGB=GetScreenShow().getpixel((x,y));要判断坐标处颜色是否给定值,可以用以下代码:
def is_screen_locate_color(x,y,r,b,g):
im=GetScreenShow()
return gui.pixelMatchesColor(x,y,(r,b,g))
如果屏幕上有个图片,我们怎样才能获得图片在屏幕上的位置和大小呢?有以下代码:
def get_png_all_location(PNGfile):#
return list(gui.locateAllOnScreen(PNGfile))
返回的是这样一个列表:[(x1,y1,w1,h1),(x2,y2,w2,h2),(x3,y3,w3,h3).],屏幕上只有一个这样的图片的话,这个列表就只有一项[(x1,y1,w1,h1)],表示这个图片的位置(x1,y1)和大小(w1,h1).
其次,我们再看看鼠标是怎样被控的。我们可以用gui.position()返回鼠标位置(x,y);实现模拟点击用:
def click_position(x,y,buttonkey='left'):#模拟点击(默认左键)
gui.click(x,y,button=buttonkey)
模拟鼠标左键双击用:
def double_click(x,y):
gui.doubleClick(x,y)
模拟按下左键鼠标拖动(相对原位置)用:
def drag_rel(dx,dy):
gui.dragRel(dx,dy,duration=0.2)
模拟按下左键鼠标拖动(绝对位置)用:
def drag_to(x,y):
gui.dragTo(x,y,duration=0.2)
模拟移动鼠标到X,Y坐标用:
def move_to(x,y):
gui.moveTo(x,y)
模拟窗口滚动用:
def scroll_window(n):
gui.scroll(n)#n为正表示向上滚动,为负表示向下滚动
第三是模拟键盘操作,下面是键盘上部分常用键的定义:
'a', 'A', '1','!', '@', '#',等等 单个字符的键
'enter'(or 'return' or '\n') 回车键
'esc' Esc 键
'shiftleft', 'shiftright' 左右 Shift 键
'altleft', 'altright' 左右 Alt 键
'ctrlleft', 'ctrlright' 左右Ctrl 键
'tab'(or '\t') Tab 键
'backspace', 'delete' Backspace 和 Delete 键
'pageup', 'pagedown' Page Up 和 Page Down 键
'home', 'end' Home 和 End 键
'up', 'down', 'left', 'right' 上下左右箭头键
'f1', 'f2', 'f3',等等 F1 至 F12 键
如果鼠标指向某一位置,怎样输入字符、按某个键和热键组合呢?发送字符串gui.typewrite(textstr)、按下键gui.keyDown(keyname)、释放键gui.keyUp(keyname)、按键gui.press(char)、#热键组合如:ctrl+c用gui.hotkey(keyname,char)。多个热键组合可按顺序输入多个参数,如:Ctrl-alt-shift-s 可输入gui.hotkey('ctrl','alt','shift','s')。
更多内容,请查询pyautogui库的说明。如果这篇文章对你有用,请点赞、转发、收藏、评论,如果喜欢我的文章,请搜索并关注“咿哑呀”,我将分享更多文章给大家。
python 控制库_python中实现自动化控制pyautogui库使用方法介绍相关推荐
- python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍
本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...
- python socks代理_Python中使用socks5设置全局代理的方法示例
0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks ...
- python有几种打开方式_Python中几个以“__”开头的方法介绍总结
本文我们来看谈 Python 中的特殊方法 __dir__, __slots__, __weakref____missing__, __contains__ 的简单介绍总结. __dir__ -> ...
- 用python计算准确率_Python中计算模型精度的几种方法,Pytorch,中求,准确率
方法一:直接在epoch过程中求取准确率 简介:此段代码是LeNet5中截取的. def train_model(model,train_loader): optimizer = torch.opti ...
- python stdout清空_python中stdout输出不缓存的设置方法
考虑以下python程序: #!/usr/bin/env python import sys sys.stdout.write("stdout1 ") sys.stderr.wri ...
- python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...
原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17) Appium是一个开 ...
- python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...
原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...
- 智能电子中的自动化控制:流程优化、执行与决策
作者:禅与计算机程序设计艺术 随着科技飞速发展,我们生活中的许多应用都开始被智能电子所代替.它们可以帮助我们完成重复性的工作任务,也可以实现精准而高效地完成复杂的工程建设.但是,实现自动化控制功能的同 ...
- Python的Django框架中forms表单类的使用方法详解2
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...
最新文章
- Java注释 link_开源代码中注释中的那些a link p @ 是给什么编辑器用的????
- 类加载器-启动类加载器
- js 获取昨天,今天,本周,上周,季度等时间范围(封装的js)
- 1026. 程序运行时间(15)-PAT乙级真题
- Linux命令:find
- 数学连乘和累加运算符号_2020中考数学 初中数学有理数计算(干货)
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_07-vuejs研究-vuejs基础-v-bind指令...
- 网站服务器开启cookies,浏览器如何开启cookie(图解浏览器cookie功能使用)
- 【VBA宏编程】——Excel操作
- 三大裂变方案直接套用,百格活动教你如何成为裂变营销专家
- 深度学习与人脸识别系列(3)__利用caffe训练深度学习模型
- 商业银行普惠金融可持续发展综合能力呈现梯队化,专项领域各有所长
- laravel 5.5 The page has expired due to inactivity. Please refresh and try again
- 【小学】再做一年级算术题
- N阶幻方入门算法及图解
- 【杂谈】关于个人档案的机要邮寄
- 数字图像处理笔记(一)——图像存储空间,分辨率,图像内插
- 红帽linux改root密码,Redhat 7.6 主机强制修改root密码及配置网关
- FPGA解码4line MIPI视频 IMX291/IMX290摄像头采集 提供工程源码和技术支持
- arcgis android 天地图,Arcgis runtime for Android 100.5 加载天地图
热门文章
- DELPHI纤程的演示
- PIE SDK波段合成
- spring-mvc注解
- 同步手绘板——将View的内容映射成Bitmap转图片导出
- 去除php_eol,php去除换行符的方法小结(PHP_EOL变量的使用)
- 镜头视场角计算工具_什么是变焦镜头 变焦镜头介绍【详解】
- 《英文计算机术语译名研究》,试定义几个多媒体技术用语
- oracle空格太多,Oracle Sql字符串多余空格处理方法初记
- nginx php 后缀名,nginx去掉php后缀名的方法
- java 流换行符_【求大神】如何读取含换行符的缓冲流文件