python-自动化篇-终极工具-用GUI自动控制键盘和鼠标-pyautogui-键盘

news2024/12/23 18:58:43

文章目录

  • 键盘
  • 键盘——记忆宫殿
    • 入门——通过键盘发送一个字符串——typewrite()
    • 常规——键名——typewrite()
    • 常规——按下键盘——keyDown()
    • 常规——释放键盘——keyUp()
    • 升级——热键组合——hotkey()

键盘

pyautogui也有一些函数向计算机发送虚拟按键,让你能够填充表格,或在应用中输入文本。

键盘——记忆宫殿

typewrite(message)键入给定消息字符串中的字符。——type+write:字符+输入
typewrite([key1,key2,key3])键入给定键字符串。
press(key)按下并释放给定键。——press:释放
keyDown(key)模拟按下给定键。——key+down:按键+下
keyUp(key)模拟释放给定键。——key+up:按键+上
hotkey([key1,key2,key3])模拟按顺序按下给定键字符串,然后以相反的顺序释放。——hot+key:热+按键

入门——通过键盘发送一个字符串——typewrite()

pyautogui.typewrite() 函数向计算机发送虚拟按键。


pyautogui.click(100,100); pyautogui.typewrite('Hello world!')

命令说明
:在同一行中放两条命令,用分号隔开,这让交互式环境不会在两个指令之间提示输入。这防止了你在 click()typewrite() 调用之间,不小心让新的窗口获得焦点,从而让这个例子失败。

命令含义
Python 首先在坐标(100,100)处发出虚拟鼠标点击,这将点击文件编辑窗口,让它获得焦点。typewrite() 函数调用将向窗口发送文本 Hello world!。

在这里插入图片描述


常规——键名——typewrite()

可以查看 pyautogui.KEYBOARD_KEYS 列表,看看 pyautogui 接受的所有可能的键字符串。‘shift’ 字符串指的是左边的 Shift 键,它等价于’shiftleft’。‘ctrl’、‘alt’ 和 ‘win’ 字符串也一样,它们都是指左边的键。

PyKeyboard属性
键盘键字符串 含义
'a','b','c','A','B','C','1','2','3','!','@','#'单个字符的键
'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键
'volumemute','volumedown','volumeup'静音、减小音量、放大音量键(有些键盘没有这些键,但你的操作系统仍能理解这些模拟的按键)
‘pause’Pause键
'capslock','numlock','scrollock'Caps Lock,Num Lock和Scroll Lock键
'insert'Ins或Insert键
'printscreen'Prtsc或Print Screen键
'winleft','winright'左右Win键(在Windows上)
'command'Command键(在OS X上)
'option'Option键(在OS X上)

常规——按下键盘——keyDown()

命令说明
pyautogui.keyDown()将向计算机发送虚拟的按键。

pyautogui.keyDown('shift');pyautogui.press('4');pyautogui.keyUp('shift')

命令含义
这行代码按下 Shift,按下(并释放)4,然后再释放 Shift。如果你需要在文本输入框内打一个字符串,typewrite() 函数就更适合。但对于接受单个按键命令的应用,press() 函数是更简单的方式。

cmd执行时注意事项
在这里插入图片描述

cmd效果如下
在这里插入图片描述
效果说明
执行第二条命令,出现效果:$,即实现“按下 Shift,按下(并释放)4,然后再释放 Shift”的效果。

常规——释放键盘——keyUp()

pyautogui.keyUp()将向计算机发送虚拟的释放。

pyautogui.keyUp('shift')

命令含义:释放Shift键。

在这里插入图片描述

升级——热键组合——hotkey()

“热键”或“快捷键”是一种按键组合,它调用某种应用功能。拷贝选择内容的常用热键是Ctrl-C(在 Windows 和 Linux 上)。用户按住Ctrl键,然后按C键,然后释放C和Ctrl键。要用pyautoguikeyDown()keyUp() 函数来做到这一点,必须输入以下代码:

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

这相当复杂。作为替代,可以使用 pyautogui.hotkey() 函数,它接受多个键字符串参数,按顺序按下,再按相反的顺序释放。例如对于 Ctrl-C,代码就像下面这样简单:

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

报错
在这里插入图片描述

对于更大的热键组合,这个函数特别有用。在 Word 中,Ctrl-Alt-Shift-S 热键组合显示 Style(样式)窗口。不必使用 8 次不同的函数调用(4 次 keyDown() 调用和4 次 keyUp() 调用),你只要调用 hotkey('ctrl', 'alt', 'shift', 's')
在屏幕的左上角打开一个新的 IDLE 文件编辑窗口,在交互式环境中输入以下内容(在 OS X 中,用 ‘ctrl’ 代替 ‘alt’):

>>> import pyautogui, time
>>> def commentAfterDelay():
		pyautogui.click(100, 100)
		pyautogui.typewrite('In IDLE, Alt-3 comments out a line.')
		time.sleep(2) 
		pyautogui.hotkey('alt', '3')
>>> commentAfterDelay()

命令含义:这定义了一个函数commentAfterDelay(),在被调用时,将点击文件编辑窗口,让它获得焦点①,输出“In IDLE,Alt-3 comments out a line”②,暂停2秒钟,然后模拟按下 Alt-3 热键(或 OS X 上的 ctrl-3)③。这个快捷键在当前行加上两个#字符,将它注释掉(在 IDLE 中编写你自己的代码时,这是一个有用的技巧,应该知道)。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1611535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式物联网实战开发笔记-乐鑫ESP32芯片功能对比以及功能选型【doc.yotill.com】

乐鑫ESP32入门到精通项目开发参考百例下载: 链接:https://pan.baidu.com/s/1ATvRnAZvxkev-PJfd3EAPg?pwd4e33 提取码:4e33 2.1 初识 ESP32 ESP32-S3 是一款低功耗的 MCU 系统级芯片 (SoC),支持 2.4 GHz Wi-Fi 和低功耗蓝牙 (…

【PythonCode】力扣Leetcode16~20题Python版

【PythonCode】力扣Leetcode16~20题Python版 前言 力扣Leetcode是一个集学习、刷题、竞赛等功能于一体的编程学习平台,很多计算机相关专业的学生、编程自学者、IT从业者在上面学习和刷题。 在Leetcode上刷题,可以选择各种主流的编程语言,如C…

汇编语言(详解)

汇编语言安装指南 第一步:在github上下载汇编语言的安装包 网址:GitHub - HaiPenglai/bilibili_assembly: B站-汇编语言-pdf、代码、环境等资料B站-汇编语言-pdf、代码、环境等资料. Contribute to HaiPenglai/bilibili_assembly development by creat…

一文让你彻底掌握操作符(超详细教程)

✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🔥系列专栏:小杨带你玩转C语言【初阶】 🐳希望大家多多支持🥰一起进步呀! 大家好呀!我是小杨。小…

学习笔记-数据结构-线性表(2024-04-18)- 单向链表选择排序

试以单向链表为存储结构实现简单选择排序的算法。 实现递增排序,首先选择一个元素作为第一个比较值,遍历其他所有的元素,如果发现其他元素中有比它小的元素,则交换两个元素,这样每一趟都能找到符合要求的最小值 正经…

Turnitin查重时,论文里面的图片会不会被查到?

在撰写论文的时候,论文里面插入几张图片作为观点和数据的阐述在再正常不过了。但是,一旦涉及到论文查重,事情就变得有点复杂了。许多同学早使用Turnitin检测系统(www.checktoo.com)对论文查重时,就常问题到…

记录交叉编译环境配置--海思开发板的 嵌入式nginx和 php的移植

嵌入式 lnmp搭建的记录 一些交叉编译的配置环境思路分享:P:php编译PHP可能遇到的问题configure阶段:Makefile-make阶段:Makefile-make install阶段: N:Nginx 文章比较水,并没有没解决什么实际问…

现货白银保证金交易要先分析趋势

现货白银是保证金交易品种,买卖过程中可能会涉及数十倍的资金杠杆,所以它对投资者的分析水平和交易水平的要求都比较高,所以在进入这个市场之前,投资者需要先学习一些基本的分析方法,当中可以分为基本面和技术面两大流…

2024年外贸独立站建设首选:WordPress引领市场,助力企业出海

随着全球经济的不断融合与发展,越来越多的企业开始关注海外市场,希望通过建设外贸独立站来扩大品牌影响力和销售额。在众多的内容管理系统(CMS)中,WordPress以其强大的功能、丰富的插件资源和用户友好的操作界面&#…

医学临床预测模型发展新趋势-并联式

医学临床预测模型发展新姿势-并联式 现有的预测模型是对单个结局指标进行分类或者回归,得出最终的结论,而辅助医生进行临床决策。众所周知,临床决策过程中,医生通常会考虑多个结局指标来做出最终的决策;临床研究中也通…

多因子模型的因子分组-克隆巴赫α系数

优质博文:IT-BLOG-CN 在建立我们的Alpha模型之前,我们得先知道什么是Alpha?Alpha是一条或者一系列能够预测股票走势的信息资讯组合。而这每一条非随机的信息资讯,我们称之为多因子模型的因子。多因子模型因子的选择需要避免系统性…

苍穹外卖day1--开发环境搭建

整体结构 前端:管理端(Web) 用户端(小程序) 后端:后端服务(Java) 前端工程基于ngnix运行 启动nginx:双击nginx.exe即可启动nginx服务,访问端口号为80 后端…

智慧浪潮下的产业园区:解读智慧化转型如何打造高效、绿色、安全的新产业高地

随着信息技术的飞速发展,智慧化转型已经成为产业园区发展的重要趋势。在智慧浪潮的推动下,产业园区通过集成应用物联网、大数据、云计算、人工智能等先进技术手段,实现园区的智慧化、高效化、绿色化和安全化,从而打造成为新产业高…

网络安全产品---数据库防火墙/审计

数据库防火墙 防火墙的类型繁多,即使下一代防火墙或者说AI防火墙集成功能再多,我觉得waf与数据库防火墙也有其无法被替代的理由,以此记录我对数据库防火墙的理解 what 数据库防火墙是基于数据库协议分析与访问行为控制的数据库安全防护产品…

ZStack教育云计算解决方案入选高质量数字化转型技术解决方案集

近日,中国信通院“铸基计划”《高质量数字化转型技术解决方案(2023年度)》(以下简称“方案集”)发布,云轴科技ZStack智慧教育云计算解决方案入选《高质量数字化转型技术解决方案集》。 为促进数字化转型相…

Kubernetes Pod OOMKilled诊断

Kubernetes Pod OOMKilled诊断 介绍 OOMKilled错误表示容器或pod已被终止,因为它使用的内存多于分配的内存。OOMKilled,通常称为Exit Code 137,是一种源自Linux的错误。OOM(Out of Memory Manager)是Linux系统上的一…

【Flutter】多语言方案二:GetX 版

介绍 多语言方案:GetX版,需要手动自定义字符串引用常量,优点不需要自己管理状态。 目录 介绍运行效果一、安装 GetX二、使用1.语言配置 在lib/core下创建一个language文件夹,文件夹下创建一个local.dart文件2.language文件夹下创…

网络行为分析与异常检测

构建防火墙和使用简单的安全解决方案不足以保护网络免受网络异常或攻击,因为DDoS攻击、未知恶意软件和其他安全威胁一直在上升,改变了网络安全格局。网络管理员必须积极主动地分析网络,获得对网络的完全控制,并全面了解网络流量活…

数据可视化(六):Pandas爬取NBA球队排名、爬取历年中国人口数据、爬取中国大学排名、爬取sina股票数据、绘制精美函数图像

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

Docker Compose 的安装和使用详解

Docker Compose 是 Docker 官方开源的容器编排(Orchestration)项目之一,用于快速部署分布式应用。本文将介绍 Docker Compose 的基本概念、安装流程及使用方法。 简介 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,Docker C…