PyautoGui常规操作

1、前置参数

1.导入数据库

from selenium.webdriver.common.action_chains import ActionChains
import pyautogui

2.自动防故障功能

默认这些功能为True,即当鼠标指针在屏幕的最左上方,程序会报错,目的是为了防止程序无法停止

pyautogui.FAILSAEE = False

3.停顿功能

指pyautogui的指令都需要暂停一秒,不影响其他指令;目的防止鼠标键盘操作过快

pyautogui.PAUSE = 1

停顿也可以使用时间睡眠操作:time.sleep(多少秒)

# time.sleep(1)

2、鼠标参数

1.获取屏幕分辨率

print(pyautogui.size())  # 返回所用显示器的分辨率;输出:size(width=1920,height=1080)
width,height = pyautogui.size()
print(width,height)  # 1920 1080

2.鼠标移动事件

移动到指定位置

# 将鼠标移动到指定的坐标:duration的作用是设置移动时间,所有的gui函数都有这个参数,都是可选参数
# 向右移动100px,向下移动100px,这个过程持续1秒钟;
pyautogui.moveTo(100,100,duration = 1)

鼠标位置

print(pyautogui.position())  # 当前鼠标位置,输出:point(x=200,y=200)

4.鼠标点击事件

鼠标单击

pyautogui.click(10,10)  # 鼠标点击指定位置,默认左键
pyautogui.click(10,10,button='left')  # 单击左键
pyautogui.click(400,300,button='right') # 单击右键
pyautogui.click(299,400,button = 'middle') # 单击中间

鼠标双击

pyautogui.doubleClick(10,10) # 指定位置,双击左键
pyautogui.rightClick(10,10)  # 指定位置,双击右键
pyautogui.middleClick(10,10) # 指定位置,双击中键

鼠标控制拖动事件

# 拖动到指定位置
# 将鼠标拖动到指定的坐标;
pyautogui.dragTo(200,300,duration =1)# 按方向拖动
pyautogui.dragRel(100,200,duration=2) # 第一个是左右移动像素值(正数向右,负数向左),第二个是上下移动像素值

鼠标滚轮

# 控制鼠标滚动的函数是scroll(),正数向下滚动多少单位,负数向上滚动多少单位
pyautogui.scroll(300)  # 向下滚动300个单位

3、键盘事件

1.键盘输入函数

  • pyautogui.keyDown(): 模拟按键按下
  • pyautogui.keyUp(): 模拟按键放开
  • pyautogui.press(): 模拟一次按键
  • pyautogui.typewrite(‘this’,0.5): 第一参数是输入内容,第二个参数是每个字符间的间隔事件
  • pyautogui.typewrite([‘T’,‘h’,‘i’,‘s’]): typewrite还可以传入单字母的列表
pyautogui.keyDown('shift') # 按下shift
pyautogui.keyUp('shift') #放开shift
pyautogui.press('s') #按一次‘4’键
pyautogui.typewrite(['T','i','s','left','left','h',]) # 输出:this

2.快捷键

例如按ctrl+c;

pyautogui.keyDown('ctrl')
pyautogui.press('c')
pyautogui.keyUp('ctrl')

优化后的快捷键;

pyautogui.hotkey('ctrl','c')

3.屏幕处理

屏幕截图

pyautogui提供了一个方法screenshot(),可以返回一个Pillow的image对象

im = pyautogui.screenshot()
im.getpixel((500,500)) # 检测屏幕坐标(500,500)这一点像素的颜色,是一个RGB元组
pyautogui.pexelMatchesColor(500,500,(12,120,200)) # 是一个对比函数,对比的是 屏幕是上(500,500)这一点像素的颜色,与所给的元素是否相同
im.save('屏幕截图.png')

4.特殊按键

键盘字符串 说明
enter(或return 或 \n) 回车
esc ESC键
shiftleft, shiftright 左右SHIFT键
altleft, altright 左右ALT键
ctrlleft, ctrlright 左右CTRL键
tab (\t) TAB键
backspace, delete BACKSPACE 、DELETE键
pageup, pagedown PAGE UP 和 PAGE DOWN键
home, end HOME 和 END键
up, down, left,right 箭头键
f1, f2, f3…. f12 F1…….F12键
volumemute, volumedown,volumeup 声音变大变小静音(有些键盘没有)
pause PAUSE键,暂停键
capslock CAPS LOCK 键
numlock NUM LOCK 键
scrolllock SCROLLLOCK 键
insert INSERT键
printscreen PRINT SCREEN键
winleft, winright Win键(windows )
command command键(Mac OS X )
option option(Mac OS X)

PyautoGui常规操作相关推荐

  1. 图像腌膜Mask的常规操作你真的信手拈来吗?

    点击上方↑↑↑"视学算法"关注我 来源:公众号 行走的机械人 授权 我对图像腌膜的含义一直有些模糊,今天写了几行代码,证明了我这模糊的印象倒是正确的.今天借一个给图片添加水印的小例 ...

  2. 网工的常规操作:配置动态NAT

    网工常规操作:配置动态NAT 实验目的 1. 理解动态NAT的转换原理 2. 掌握动态NAT的配置方法 实验拓扑 实验需求 1. 根据实验拓扑图,完成设备的基本配置: 2. 在R2上创建Loopbac ...

  3. python如何从一个dataframe提取相应的行组成一个新的dataframe_Python|专题(1)——数据处理常规操作集(1)...

    大家好!好久不见!适逢国庆,先祝我亲爱的祖国七十周年生日快乐! 这一系列文章是针对最近在实习中做的一些数据预处理操作的整理.我们希望通过它们,带领大家了解和熟悉一些python做数据清洗,数据整合等的 ...

  4. unix 只有root 可以使用chown吗_chmod 777 是开发的常规操作吗?

    chmod 777 是开发的常规操作吗? 答案很明显:是的 nginx  403 Forbidden 给777权限试下吧? 文件没有写权限 给777权限试下吧? Supervisord 使用root用 ...

  5. ubuntu mysql 防火墙_mysql、ubuntu系统防火墙常规操作

    mysql.ubuntu系统防火墙常规操作 编辑:006     时间:2020-02-11 mysql: 数据库操作 连接数据库: mysql -u username -p 创建数据库: creat ...

  6. FTP服务器常规操作

    导读 FTP协议是Internet文件传输的基础,它是由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据.下面就由我给大家简单介绍一下 ...

  7. 快视频:剽窃了B站的数据库?360的常规操作了。

    转自:https://zhuanlan.zhihu.com/p/33887437 这些天,一些UP主惊讶地发现,在一款自己从未使用过的视频网站上,出现了自己的视频和同样用户的ID.更离谱的是,使用自己 ...

  8. OpenShift 4 - Fedora CoreOS (5) - CoreOS的常规操作

    <OpenShift 4.x HOL教程汇总> 文章目录 常规操作 查看CoreOS操作系统信息 查看网络配置 修改IP Docker 环境 podman 使用toolbox 什么是too ...

  9. Mongodb常规操作【一】

    Mongodb是一种比较常见的NOSQL数据库,数据库排名第四,今天介绍一下Net Core 下,常规操作. 首先下C# 版的驱动程序 "MongoDB.Driver",相关依赖包 ...

最新文章

  1. 【建站系列教程】3.2、ajax使用精讲
  2. 失败 安装scikit_scikit-learn0.22版本最新发布
  3. mongodb 压缩——3.0+支持zlib和snappy
  4. HDU 3264 Open-air shopping malls
  5. php memcache 封装类,php 封装memcache类
  6. python访问注册表_python读取注册表中值的方法
  7. 送你一份后端必备的 Git 分支开发规范指南
  8. 电厂运维的cis数据_科技驱动升级,各类智慧电厂技术大盘点
  9. python获取当前线程_Python爬虫(线程,进程)
  10. mysql 重置密码 win_window下重置mysql用户密码
  11. 侯策:如何突破前端开发技术瓶颈
  12. 【转】Swig 使用指南
  13. Dota2 无法连接至steam网络 【已解决】
  14. 进入BeOS的花花世界 系列五
  15. matlab声音处理
  16. 币安智能链监听日志事件
  17. GSMArena魅族mx四核评测全文|去除英文|
  18. ANGELABABY独家呈现——BE STUPID.有态度 够勇敢
  19. 如何高效的使用便利贴 win10便签贴工具居然可以这么好用
  20. uniApp确认提示框

热门文章

  1. 模具设计与制造类毕业论文文献有哪些?
  2. 北邮信通复试题c语言,『转贴』北邮信通院跑调剂的经历
  3. 计算机专业校企合作的论文,高校计算机专业校企合作创新研究论文
  4. ASP.NET小Tips两则
  5. VS2019无法打开源文件
  6. linux 视频无法播放视频教程,Ubuntu7.10下无法正常播放网页上Flash视频的解决
  7. 【论文分享】Chopped Symbolic Execution
  8. Windows安装MongoDB,无法启动服务
  9. 2014年第一季度总结
  10. QML进阶(十)动态加载QML元素