Python 自动化详解(pyautogui)

文章目录

  • 1 概述
    • 1.1 第三方库:pyautogui
    • 1.2 坐标说明
  • 2 操作对象
    • 2.1 鼠标
      • 2.1.1 定位
      • 2.1.2 移动
      • 2.1.3 拖动
      • 2.1.4 滚动
      • 2.1.5 点击
    • 2.2 键盘
      • 2.2.1 输入
      • 2.2.2 按键
      • 2.2.3 快捷键
    • 2.3 屏幕
      • 2.3.1 截图
      • 2.3.2 分辨率
    • 2.4 信息提示
      • 2.4.1 提示框
      • 2.4.2 选择框
      • 2.4.3 密码输入
      • 2.4.4 普通输入

1 概述

1.1 第三方库:pyautogui

> pip install pyautogui

1.2 坐标说明

在这里插入图片描述

2 操作对象

2.1 鼠标

2.1.1 定位

import pyautogui# 鼠标定位:鼠标的 x,y 坐标
position = pyautogui.position()
print(f'x = {position.x}, y = {position.y}')

2.1.2 移动

import pyautogui# 移动鼠标:两种方式
# 常用属性:x=横坐标,y=纵坐标,duration=持续时间(默认 0)
pyautogui.moveTo(x=100, y=200, duration=1)  # 方式1:移动至
pyautogui.moveRel(x=10, y=20)  # 方式2:按方向移动 x: 正右负左、y:正上负下

2.1.3 拖动

import pyautogui# 移动拖动:两种方式
# 常用属性:x=横坐标,y=纵坐标,duration=持续时间(默认 0)
pyautogui.dragTo(x=100, y=200, duration=1)  # 方式1:移动至
pyautogui.dragRel(xOffset=10, yOffset=20)  # 方式2:按方向移动 x: 正右负左、y:正上负下

2.1.4 滚动

import pyautogui# 移动滚动
pyautogui.scroll(20)

2.1.5 点击

import pyautogui# 单击鼠标
pyautogui.click(10, 20)  # 鼠标点击指定位置,默认左键
pyautogui.click(x=10, y=20, button='left')  # 左键
pyautogui.click(x=10, y=20, button='right')  # 右键
pyautogui.click(x=10, y=20, button='middle')  # 中间# 双击鼠标
pyautogui.doubleClick(10, 10)  # 左键
pyautogui.rightClick(10, 10)  # 右键
pyautogui.middleClick(10, 10)  # 中间# 点击 & 释放
pyautogui.mouseDown()  # 鼠标按下
pyautogui.mouseUp()  # 鼠标释放

2.2 键盘

2.2.1 输入

import pyautoguipyautogui.write('Hello World')  # 立即输出
pyautogui.write('Hello World', interval=0.5)  # 间隔0.5s输出

2.2.2 按键

import pyautoguipyautogui.keyDown('enter')  # 按下指定键
pyautogui.keyUp('enter')  # 松开指定键# 效果同上
pyautogui.press('enter')  # 按一次指定键

注:暂不支持中文

键盘字符串说明
enter回车键
tabTAB 键
space空格键
up、down、left、right方向键
ctrlCtrl 键

2.2.3 快捷键

pyautogui.hotkey('ctrl', 'a')  # 选中
pyautogui.hotkey('ctrl', 'c')  # 复制
pyautogui.hotkey('ctrl', 'v')  # 粘贴pyautogui.hotkey('ctrl', 'alt', 'a')

2.3 屏幕

2.3.1 截图

import pyautoguiimg = pyautogui.screenshot()
img.save('屏幕截图.jpg')

2.3.2 分辨率

import pyautoguisize = pyautogui.size()
print(size)  # Size(width=1366, height=768)# 坐标原点(0, 0), 坐标终点(width-1, height-1)
print(pyautogui.onScreen(1366, 768))  # False
print(pyautogui.onScreen(1365, 767))  # True

2.4 信息提示

2.4.1 提示框

import pyautoguitext = pyautogui.alert(text="这是一个提示框", title='提示')
print(text)  # OK

在这里插入图片描述

2.4.2 选择框

import pyautoguitext = pyautogui.confirm('请选择一项', buttons=['选项 A', '选项 B', '选项 C'])
print(text)  # buttons 中的取值

在这里插入图片描述

2.4.3 密码输入

import pyautoguitext = pyautogui.password('请输入密码:')
print(text)

在这里插入图片描述

2.4.4 普通输入

import pyautoguitext = pyautogui.prompt('请输入:')
print(text)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAM:Segment Anything 代码复现和测试 基本使用

相关地址 代码: https://github.com/facebookresearch/segment-anything 在线网站: https://segment-anything.com/demo 环境配置 建议可以clone下来学习相关代码,安装可以不依赖与这个库 git clone https://github.com/facebookresearch…

计算机毕业设计选题推荐-社区志愿者服务微信小程序/安卓APP-项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

【Bug—eNSP】华为eNsp路由器设备启动一直是0解决方案!

目录 一、项目场景 二、问题描述 三、原因分析 四、解决方案 注意&#

喜讯!合合信息顺利通过CMMI3级评估

近日,在擎标顾问团的咨询辅导下,上海合合信息科技股份有限公司(简称“合合信息”)顺利通过了CMMI3级评估。CMMI是国际上最流行、最实用的一种软件生产过程标准和软件企业成熟度等级认证的标准,通过该认证表明企业在开发…

OpenAI将推出ChatGPT Plus会员新功能,有用户反馈将支持上传文件和多模态

🦉 AI新闻 🚀 OpenAI将推出ChatGPT Plus会员新功能,有用户反馈将支持上传文件和多模态 摘要:OpenAI为ChatGPT Plus会员推出了一些新功能,包括上传文件、处理文件和多模态支持。用户不再需要手动选择模式,…

Day 11 python学习笔记

模块 内置模块 random random:随机数模块 我们可以在解释器中看到其蕴含的方法 接下来我解释一些常用的方法: random.random( ) random.random( ) 返回0-1的随机数 [0,1) >>> random.random() 0.364183511476754 random.randint(n,m) r…

CentOS7非lvm给根分区扩容

首先查看现有磁盘信息和文件系统的信息 关闭虚拟机,右键虚拟机,点击设置,选中硬盘,右边点击拓展,然后给磁盘空间增加到指定的大小 打开虚拟机,查看扩容后的分区大小,此时会发现根分区大小并…

「Dr. Bomkus 的试炼」排行榜说明

简要概括 七大区域,一个任务:六场扣人心弦的试炼,有一个休闲大厅作为每场试炼的起点。 试炼 排行榜:掌握每场试炼,攀登排行榜。 以 Ethos Point 来记分:每个试炼中的任务都会获得一个EP。 两种任务类型&am…

Python 中__name__ == ‘__main__‘使用说明

在学习C语言的时候,程序的运行是从main函数开始的,因此,功能代码一般写到main函数中,子程序如果想要调用,也需要在main函数中进行调用。 然而,Python语言中,程序从第一行就开始执行(定义函数除外…

node使用fs模块(二)—— 读取文件的基本使用(普通读取、同步读取等、流式读取)

文章目录 一、读取文件1. 参数说明2. 基本使用3.读取文件的同步和异步 二、流式文件写入(fs.appendFile)1. 参数说明2.基本使用 一、读取文件 1. 参数说明 参数1: path——读取的文件路径(必填) 参数2: op…

25 行为型模式-备忘录模式

1 备忘录模式介绍 备忘录模式(memento pattern)定义: 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态. 2 备忘录模式原理 3 备忘录模式实现 /*** 发起人角色**/ public class Originator {private Strin…

云安全-云原生技术架构(Docker逃逸技术-特权与危险挂载)

0x00 云原生技术-docker docker容器和虚拟机的对比:前者是将运行环境打包,封装一个环境。后者是将整个系统打包,封装一个系统。在操作使用上来说各有利弊。 0x01 docker容器的三种逃逸类型 特权模式启动(不安全的启动方式&…