海口市网站建设,wordpress下载的主题如何安装,wordpress 下载失败 不能将请求写入临时文件,wordpress 分享至微信前言 PyAutoGUI 是一个 Python 库#xff0c;用于在桌面应用程序中自动化鼠标和键盘操作。它提供了一组简单而强大的方法#xff0c;使得开发者可以编写脚本来模拟用户的鼠标点击、键盘输入以及屏幕截图等操作。PyAutoGUI 可以用于自动化重复性任务、测试 GUI 应用程序、创建…前言 PyAutoGUI 是一个 Python 库用于在桌面应用程序中自动化鼠标和键盘操作。它提供了一组简单而强大的方法使得开发者可以编写脚本来模拟用户的鼠标点击、键盘输入以及屏幕截图等操作。PyAutoGUI 可以用于自动化重复性任务、测试 GUI 应用程序、创建自定义的自动化工具等场景。
以下是 PyAutoGUI 的一些主要特点
跨平台性PyAutoGUI 可以在 Windows、macOS 和 Linux 上运行并提供了一致的 API接口使得开发者可以编写跨平台的自动化脚本。鼠标和键盘控制PyAutoGUI 提供了丰富的方法来模拟鼠标移动、点击、拖拽以及键盘输入等操作使得可以轻松地自动化各种基于 GUI的任务。屏幕信息和截图PyAutoGUI 支持获取屏幕大小、鼠标位置等信息并可以对屏幕进行截图、图像识别等操作方便进行自动化任务的处理。灵活性和易用性PyAutoGUI 的方法设计简单直观使用起来非常方便同时提供了一些参数来定制操作的行为满足不同场景下的需求。
PyAutoGUI官方文档
安装命令pip install pyautogui
一、屏幕信息
import pyautogui# 获取屏幕尺寸
screen_size pyautogui.size()
print(screen_size)
# 结果Size(width1920, height1080)width, height pyautogui.size()
print(width, height)
# 结果1920 1080# 获取鼠标当前位置
mouse_position pyautogui.position()
print(mouse_position)
# 结果Point(x960, y540)# 判断坐标是否在屏幕范围内(范围内) onScreen(x, y)
onscreen pyautogui.onScreen(100, 200)
print(onscreen)
# 结果True# 判断坐标是否在屏幕范围内(范围外)
onscreen pyautogui.onScreen(100, 4000)
print(onscreen)
# 结果False二、鼠标操作
鼠标移动
import pyautogui# 将鼠标移动到屏幕坐标 (x200, y300) 的位置移动过程耗时 1 秒钟
pyautogui.moveTo(200, 300, duration1)# 相对于当前鼠标位置向右移动 200 像素向下移动 500 像素移动过程耗时 1 秒钟
pyautogui.moveRel(200, 500, duration1)# 相对于当前鼠标位置向左移动 200 像素向上移动 500 像素移动过程耗时 1 秒钟
pyautogui.moveRel(-200, -500, duration1)鼠标点击 click(xNone, yNone, button‘left’, clicks1, interval0.0) 模拟鼠标单击操作。如果指定了 (x, y) 坐标则会先将鼠标移动到该坐标然后进行单击操作默认使用左键单击。clicks 参数指定单击次数interval 指定单击之间的间隔时间。
import pyautogui# 在屏幕坐标 (x100, y100) 的位置点击鼠标左键点击过程耗时 1 秒钟
pyautogui.click(100, 100, duration1)# 在屏幕坐标 (100, 100) 的位置点击鼠标左键两次
pyautogui.click(100, 100, clicks2)# 在屏幕坐标 (100, 100) 的位置点击鼠标左键两次且点击间隔时间为 3 秒钟
pyautogui.click(100, 100, clicks2, interval3)# 在屏幕坐标 (100, 100) 的位置点击鼠标左键使用 buttonleft 指定左键
pyautogui.click(100, 100, buttonleft)# 在屏幕坐标 (100, 200) 的位置点击鼠标右键使用 buttonright 指定右键
pyautogui.click(100, 200, buttonright)# 在屏幕坐标 (100, 300) 的位置点击鼠标中键使用 buttonmiddle 指定中键
pyautogui.click(100, 300, buttonmiddle)鼠标双击 doubleClick(xNone, yNone, button‘left’, interval0.0) 模拟鼠标双击操作参数意义与 click() 方法类似。
import pyautogui# 在屏幕坐标 (100, 100) 处进行双击操作使用的是鼠标左键
pyautogui.doubleClick(100, 100)# 在屏幕坐标 (100, 100) 处进行双击操作使用的是鼠标右键
pyautogui.doubleClick(100, 100, buttonright)# 在屏幕坐标 (100, 100) 处进行双击操作使用的是鼠标中键
pyautogui.doubleClick(100, 100, buttonmiddle)鼠标按压释放
import pyautogui# 鼠标移动代码...# 模拟按下鼠标按钮当前是左键。这个函数会让鼠标一直保持按下状态
pyautogui.mouseDown()# 释放之前按下的鼠标按钮使其恢复弹起状态
pyautogui.mouseUp()鼠标拖动
import pyautogui# 将鼠标光标从当前位置拖动到屏幕上的坐标 (95, 50) 的位置默认使用左键进行拖动可以使用参数 button* 进行修改
pyautogui.dragTo(95, 50, duration1)# 将鼠标光标相对于当前位置向右拖动 500 像素向下拖动 300 像素拖动过程持续 1 秒钟
pyautogui.dragRel(500, 300, duration1)# 将鼠标光标相对于当前位置向左拖动 500 像素向上拖动 300 像素拖动过程持续 1 秒钟
pyautogui.dragRel(-500, -300, duration1)鼠标滚动
import pyautogui# 鼠标移动代码...# 向上滚动1000个单位
pyautogui.scroll(1000)# 向下滚动1000个单位
pyautogui.scroll(-1000)三、键盘操作
键盘输入常用的方法
获取键盘按键名称方法
import pyautogui# KEY_NAMES 属性获取了所有键盘按键的名称列表
key_names pyautogui.KEY_NAMES
print(key_names)keyDown和keyUp方法
# 模拟按下 Windows 键
pyautogui.keyDown(win)# 模拟释放 Windows 键如果有按下一定记得写释放否则手动操作键盘可能会存在问题
pyautogui.keyUp(win)typewrite方法
# 演示用的浏览器鼠标移动到浏览器搜索框点击软件再进行键盘操作
pyautogui.click(145, 60)# 模拟逐个字符地输入字符串并在每个字符输入之间有 0.1 秒的间隔
pyautogui.typewrite(python, interval0.1)# 按顺序依次输入列表中的每个元素。space 表示空格键
pyautogui.typewrite([s, r, f, space], interval0.2)# 模拟按下回车键
pyautogui.typewrite([enter])press方法
# 模拟按下和释放 Enter 键
pyautogui.press(enter)# 模拟按下和释放右键箭头键两次间隔为0.5秒
pyautogui.press(right, presses2, interval0.5)hotkey方法
# 模拟按下和释放 Ctrlshiftesc 组合键打开任务管理器
pyautogui.hotkey(ctrl, shift, esc)组合示例
import pyautogui
import pyperclip# 演示用的浏览器鼠标移动到浏览器搜索框点击软件再进行键盘操作
pyautogui.click(145, 60)示例一
# 输入
pyautogui.keyDown(shift)
pyautogui.press(1)
pyautogui.keyUp(shift)示例二
# 复制文本到剪贴板中
text_to_copy Hello, world!
pyperclip.copy(text_to_copy)
# 执行粘贴操作
pyautogui.hotkey(ctrl, v)四、屏幕截图
import os
import pyautogui# 定义截图存放路径
folder_path rC:\Users\admin\Desktop
file_path os.path.join(folder_path, screenshot.png)# 对整个屏幕进行截图
screenshot pyautogui.screenshot()
screenshot.save(file_path)# 对指定区域进行截图
x, y, width, height 100, 100, 300, 400
region (x, y, width, height)
screenshot pyautogui.screenshot(regionregion)
screenshot.save(file_path)