大家在使用电脑中,有时候需要电脑进行一些繁锁的程序化操作。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库使用方法介绍相关推荐

  1. python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍

    本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用S ...

  2. python socks代理_Python中使用socks5设置全局代理的方法示例

    0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks ...

  3. python有几种打开方式_Python中几个以“__”开头的方法介绍总结

    本文我们来看谈 Python 中的特殊方法 __dir__, __slots__, __weakref____missing__, __contains__ 的简单介绍总结. __dir__ -> ...

  4. 用python计算准确率_Python中计算模型精度的几种方法,Pytorch,中求,准确率

    方法一:直接在epoch过程中求取准确率 简介:此段代码是LeNet5中截取的. def train_model(model,train_loader): optimizer = torch.opti ...

  5. python stdout清空_python中stdout输出不缓存的设置方法

    考虑以下python程序: #!/usr/bin/env python import sys sys.stdout.write("stdout1 ") sys.stderr.wri ...

  6. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...

    原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17) Appium是一个开 ...

  7. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...

    原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...

  8. 智能电子中的自动化控制:流程优化、执行与决策

    作者:禅与计算机程序设计艺术 随着科技飞速发展,我们生活中的许多应用都开始被智能电子所代替.它们可以帮助我们完成重复性的工作任务,也可以实现精准而高效地完成复杂的工程建设.但是,实现自动化控制功能的同 ...

  9. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

最新文章

  1. Java注释 link_开源代码中注释中的那些a link p @ 是给什么编辑器用的????
  2. 类加载器-启动类加载器
  3. js 获取昨天,今天,本周,上周,季度等时间范围(封装的js)
  4. 1026. 程序运行时间(15)-PAT乙级真题
  5. Linux命令:find
  6. 数学连乘和累加运算符号_2020中考数学 初中数学有理数计算(干货)
  7. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_07-vuejs研究-vuejs基础-v-bind指令...
  8. 网站服务器开启cookies,浏览器如何开启cookie(图解浏览器cookie功能使用)
  9. 【VBA宏编程】——Excel操作
  10. 三大裂变方案直接套用,百格活动教你如何成为裂变营销专家
  11. 深度学习与人脸识别系列(3)__利用caffe训练深度学习模型
  12. 商业银行普惠金融可持续发展综合能力呈现梯队化,专项领域各有所长
  13. laravel 5.5 The page has expired due to inactivity. Please refresh and try again
  14. 【小学】再做一年级算术题
  15. N阶幻方入门算法及图解
  16. 【杂谈】关于个人档案的机要邮寄
  17. 数字图像处理笔记(一)——图像存储空间,分辨率,图像内插
  18. 红帽linux改root密码,Redhat 7.6 主机强制修改root密码及配置网关
  19. FPGA解码4line MIPI视频 IMX291/IMX290摄像头采集 提供工程源码和技术支持
  20. arcgis android 天地图,Arcgis runtime for Android 100.5 加载天地图

热门文章

  1. DELPHI纤程的演示
  2. PIE SDK波段合成
  3. spring-mvc注解
  4. 同步手绘板——将View的内容映射成Bitmap转图片导出
  5. 去除php_eol,php去除换行符的方法小结(PHP_EOL变量的使用)
  6. 镜头视场角计算工具_什么是变焦镜头 变焦镜头介绍【详解】
  7. 《英文计算机术语译名研究》,试定义几个多媒体技术用语
  8. oracle空格太多,Oracle Sql字符串多余空格处理方法初记
  9. nginx php 后缀名,nginx去掉php后缀名的方法
  10. java 流换行符_【求大神】如何读取含换行符的缓冲流文件