浅谈pyautogui模块
pyautogui模块
PyAutoGUI——让所有GUI都自动化
安装代码:
pip install pyautogui
目的
PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。可以用pip安装,Github上有源代码。
下面的代码让鼠标移到屏幕中央。
import pyautogui
screenWidth, screenHeight = pyautogui.size()
pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
PyAutoGUI可以模拟鼠标的移动、点击、拖拽,键盘按键输入、按住操作,以及鼠标+键盘的热键同时按住等操作,可以说手能动的都可以。
pyautogui基本操作样例
import pyautogui
# 获取当前屏幕分辨率
screenWidth, screenHeight = pyautogui.size()
# 获取当前鼠标位置
currentMouseX, currentMouseY = pyautogui.position()
# 鼠标移动坐标为100,100位置 绝对移动
pyautogui.moveTo(100, 100)
# 鼠标左击
pyautogui.click()
# 鼠标乡下移动 相对移动
pyautogui.moveRel(None, 10)
# 鼠标双击
pyautogui.doubleClick()
# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
# use tweening/easing function to move mouse over 2 seconds.
pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad)
# 在每次输入之间暂停0.25秒
pyautogui.typewrite('Hello world!', interval=0.25)
# 键盘点击esc
pyautogui.press('esc')
# 按住shift键
pyautogui.keyDown('shift')
pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left'])
# 放开shift键
pyautogui.keyUp('shift')
pyautogui.hotkey('ctrl', 'c')
PyAutoGUI键盘表:
| ‘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’…. | F1…….F12键 |
| ‘volumemute’, ‘volumedown’, ‘volumeup’ | 有些键盘没有 |
| ‘pause’ | PAUSE键 |
| ‘capslock’, ‘numlock’, ‘scrolllock’ | CAPS LOCK, NUM LOCK, 和 SCROLL LOCK 键 |
| ‘insert’ | INS或INSERT键 |
| ‘printscreen’ | PRTSC 或 PRINT SCREEN键 |
| ‘winleft’, ‘winright’ | Win键 |
| ‘command’ | Mac OS X command键 |
浅谈pyautogui模块的更多相关文章
- 浅谈python模块的导入操作
1.什么是模块 在Python中有一个概念叫做模块(module). 所谓模块,就是将代码量较大的程序分割成多个有组织的,彼此独立但双能互相交互的代码片段, 这些自我包含的有组织的代码段就是模块. 2 ...
- 浅谈String模块ascii_letters和digits
本文介绍string模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9. 示例如下: In [2]: c ...
- 浅谈js模块加载方式(初级)
1.简介: 前端模块化开发日渐鼎盛,如何将零散的插件或者是普通的js脚本文件统一管理及引用,是众多开发者共同的目标.本人是从事.net开发的,最近对前端的一些东西特别的感兴趣,也会尝试的夹杂一点自己 ...
- 浅谈auth模块
目录 auth模块 什么是Auth模块 auth模块的常用方法 用户注册 扩展默认的auth_user表 auth模块 什么是Auth模块 auth模块是对注册登录认证注销修改密码等方法的一种封装 ...
- 浅谈tkinter模块
目录 tkinter模块 tkinter模块简单使用 主窗口 Button按钮 Label标签 Text编辑框 Entry输入框 ListBox列表 RadioButton单选框 CheckButto ...
- 浅谈Webpack模块打包工具一
为什么要使用模块打包工具 1.模块化开发ES Modules存在兼容性问题 打包之后成产阶段编译为ES5 解决兼容性问题 2.模块文件过多 网络请求频繁 开发阶段把散的模块打包成一个模块 解决网络请 ...
- 浅谈Webpack模块打包工具二
Webpack插件机制介绍 Loader专注实现资源模块加载,plugin解决其他自动化工作,比如清除dist目录,拷贝静态文件值输出目录,压缩输出代码等,下面列举几个plugin 的例子. Webp ...
- 浅谈Webpack模块打包工具三
Source Map 生产代码与开发代码完全不同,如果需要调试应用的话会非常的麻烦,错误信息无法定位,Soutce Map就会逆向得到源代码, 须在打包之后的代码文件的末尾位置例如添加//# sour ...
- 浅谈Webpack模块打包工具四
Webpack 生产环境优化 生产环境和开发环境有很大的差异,生产环境只注重运行效率,开发环境主要开发效率,webpack4.0开始提出了(mode)模式的概念 针对不同的环境进行不同的配置,为不同的 ...
随机推荐
- Linux (四) 基础命令 下
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.查看文件内容 1.命令 cat 对应单词:concatenate 作用:查看文件内容 常用参数: ...
- Java实现 LeetCode 633 平方数之和(暴力大法)
633. 平方数之和 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c. 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 ...
- Java实现 LeetCode 91 解码方法
91. 解码方法 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 - 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总 ...
- Java实现 LeetCode 82 删除排序链表中的重复元素 II(二)
82. 删除排序链表中的重复元素 II 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4- ...
- Java实现LeetCode_0007_ReverseInteger
package javaLeetCode_primary; import java.util.Scanner; /** * Given a 32-bit signed integer, reverse ...
- Java实现 洛谷 P1328 生活大爆炸版石头剪刀布
import java.util.Scanner; public class Main{ private static int[] duel(int playerA, int playerB){ in ...
- java实现第五届蓝桥杯猜字母
猜字母 题目描述 把abcd-s共19个字母组成的序列重复拼接106次,得到长度为2014的串. 接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母. 得到的新串再进行删除 ...
- Python学习之温度转换实例分析篇
#TempConvert.py Tempstr=input('请输入要转换的温度值:') if Tempstr[-1] in ['C','c']: F=1.8*eval(Tempstr[0:-1])+ ...
- VMware15 镜像Centos7修改静态IP
VMware15 镜像Centos7修改静态IP * 我的网卡名称为ens33: * 配置IP在 /etc/sysconfig/network-scripts/ifcfg-ens33 目录下: * D ...
- Cookie 与 SessionID 的本质
当用户首次访问服务器的时候,服务器为每个用户单独创建一个 Session 对象,并分配一个新的 SessionID,此时 SessionID 通过 Cookie 保存在用户端. 当用户再次访问服务器的 ...