你的位置:高德注册 > 最新动态 >


学习笔记:python自动化鼠标键盘常用代码

发布日期:2024-10-14 08:54    点击次数:113


1、在Python中,可以使用pyautogui库来自动化鼠标和键盘操作。首先需要安装这个库:

普通安装:pip install pyautogui
国内镜像安装:pip install -i https://mirrors.aliyun.com/pypi/simple/ pyautogui(推荐,安装更快)

在pycharm中安装pyautogui库,方法很简单,可以通过PyCharm的Terminal或者外部的命令行工具安装:

图片

2、下面写一个基本的列子了解学习

# 导入pyautogui库和time库
import pyautogui
import time
 
# 移动鼠标到屏幕的坐标(x=100, y=100)位置
pyautogui.moveTo(100, 100)
 
# 点击鼠标左键
pyautogui.click()
 
# 输入文本
pyautogui.typewrite('Hello, world!')
 
# 按下Enter键
pyautogui.press('enter')
 
# 右击鼠标
pyautogui.click(button='right')
 
# 按下Ctrl+C
pyautogui.hotkey('ctrl', 'c')
 
# 暂停2秒
time.sleep(2)

3、获取屏幕分辨率代码演示:这两个方法分别是确定鼠标的移动范围,确定当前鼠标的移动位置。

# 获取屏幕分辨率
pyautogui.size()
# 获取当前鼠标所在位置
pyautogui.position()
# 也可以定义变量接受坐标位置
screen_width, screen_height = pyautogui.size()
# 打印输出屏幕坐标信息
print(f"屏幕宽度: {screen_width}, 屏幕高度: {screen_height}")

4、移动和拖动鼠标代码

# 移动到 100, 300 的位置
pyautogui.moveTo(100, 300)
# 基于以上位置 Y 轴移动 50
pyautogui.move(0, 50)
# 在 2 秒内按住鼠标左键拖动到 300, 500 的位置
pyautogui.dragTo(300, 500, 2, button='left')
# 在 2 秒内按住鼠标右键,基于以上位置 X 轴拖动 30
pyautogui.drag(30, 0, 2, button='right')
# 拖动到指定位置,相对于原点
pyautogui.dragTo(100,300,duration=1)
# 拖动到指定位置,相对于当前位置
pyautogui.dragRel(100,500,duration=4)

移动鼠标代码

 # 将鼠标移动到(100, 100)的位置,持续1秒
pyautogui.moveTo(100, 100, duration=1)

鼠标点击代码

鼠标滚轮滚动

要模拟鼠标滚轮滚动,可以使用pyautogui.scroll()函数:

# 向上滚动10个单位
pyautogui.scroll(10)  
# 向下滚动10个单位
pyautogui.scroll(-10)

5、鼠标的一些代码演示

# 点击
pyautogui.click()
# 移动到 100, 200 点击
pyautogui.click(x=100, y=200)
# 使用右键点击,可选 left, middle, right
pyautogui.click(button='right')
# 双击
pyautogui.click(clicks=2)
# 双击,单击间隔时间 0.25 秒
pyautogui.click(clicks=2, interval=0.25)
# 鼠标按下
pyautogui.mouseDown()
# 鼠标抬起
pyautogui.mouseUp()

获得当前鼠标位置

# 定义变量x和y接收获得的屏幕坐标位置
x, y = pyautogui.position()
# 打印输出鼠标当前位置
print(f"鼠标当前位置: x={x}, y={y}")
键盘操作

使用pyautogui.typewrite()函数,可以模拟键盘输入:

 # 输入文本的代码
pyautogui.typewrite("Hello, World!")
模拟快捷键,要模拟快捷键,可以使用pyautogui.hotkey()函数:

# 模拟Ctrl+C,其他快捷键,看着修改即可
pyautogui.hotkey("ctrl", "c")
按下和释放键盘按键,使用pyautogui.keyDown()和pyautogui.keyUp()函数,可以按下和释放键盘按键:

# 按下Shift键
pyautogui.keyDown("shift")  
# 释放Shift键
pyautogui.keyUp("shift")
等待和延迟控制,延迟执行,使用pyautogui.sleep()函数,可以添加延迟以等待操作完成:

pyautogui.sleep(2)  # 等待2秒
查找图像位置,pyautogui.locateCenterOnScreen()函数可以用于查找屏幕上特定图像的中心位置:

position = pyautogui.locateCenterOnScreen("image.png")
if position is not None:
    x, y = position
    pyautogui.click(x, y)

等待特定的图像出现(找图功能),pyautogui.locateOnScreen()函数可以用于等待并定位屏幕上的特定图像,以便后续操作:

# 定义变量储存图像信息
location = pyautogui.locateOnScreen("image.png")
# 进行判断
if location is not None:
    x, y, width, height = location
    pyautogui.click(x + width / 2, y + height / 2)
上面这段代码的目的是通过识别特定的图像,并在找到图像时执行点击操作。它可以用于自动化一些与图像相关的任务。识别屏幕上的颜色,使用pyautogui.pixel()函数,可以获取屏幕上指定位置的像素颜色:

# 获得屏幕颜色并且赋值给color
color = pyautogui.pixel(300, 300)
# 打印输出颜色值信息
print(f"颜色值:{color}")

6、键盘的操作,举例说明下面操作实现按住 shift 同时按下 left 键。

# 输入,每个字符间隔 0.25 秒
pyautogui.write('Hello world!', interval=0.25)
# 按住 shift
pyautogui.keyDown('shift')
# 按下 left 键
pyautogui.press('left')
# 弹起 shift
pyautogui.keyUp('shift')

如果需要按下多个键,可以使用:

pyautogui.press(['left', 'left', 'left'])
# left可以根据实际情况修改需要的键代码
一个按键多次按压

pyautogui.press('left', presses=3)
# 一个键代码多次按,这里是按键3次演示
示例 1: 模拟鼠标点击和键盘输入

import pyautogui
# 模拟鼠标点击
pyautogui.click(100, 100)  # 在屏幕上坐标(100, 100)的位置单击
# 模拟键盘输入
pyautogui.write('Hello, World!')  # 在焦点处输入文本
示例 2: 屏幕截图

import pyautogui
# 截取整个屏幕
screenshot = pyautogui.screenshot()
# 截取指定区域
screenshot = pyautogui.screenshot(region=(0, 0, 100, 100))
# 保存截图
screenshot.save('screenshot.png')

示例 3: 自动化数据输入

import pyautogui
# 定义数据
data = "This is some data"
# 单击文本框
pyautogui.click(200, 200)
# 输入数据
pyautogui.write(data)
示例 4: 自动化文件操作

import pyautogui

# 打开文件资源管理器
pyautogui.hotkey('win', 'e')

# 等待文件资源管理器打开
pyautogui.sleep(1)

# 复制文件
pyautogui.hotkey('ctrl', 'c')

# 切换到另一个文件夹
pyautogui.hotkey('ctrl', 'v')
示例 5: 自动化网页操作

import pyautogui
import webbrowser
import time
# 打开浏览器
webbrowser.open('https://www.example.com')
# 等待页面加载
time.sleep(5)
# 模拟滚动鼠标滚轮
pyautogui.scroll(3)  # 向上滚动3次

示例 6: 打开记事本应用程序

import pyautogui
import time

# 打开记事本应用程序
pyautogui.hotkey('win', 'r')
pyautogui.typewrite('notepad')
pyautogui.press('enter')

# 等待记事本应用程序打开
time.sleep(2)

# 打出英文名言,记得将输入法切换为英文。
pyautogui.typewrite('To be, or not to be: that is the question.\nAsk not what your country can do for you, \nask what you can do for your country.\nI am the master of my fate,\n I am the captain of my soul.\n')

# 保存文件
pyautogui.hotkey('ctrl', 's')
time.sleep(2)
pyautogui.typewrite('test')
pyautogui.press('enter')

# 关闭记事本应用程序
pyautogui.hotkey('alt', 'f4')
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

上一篇:Unit mysqld.service could not be found.

下一篇:没有了

    热点资讯

    相关资讯