PyAutoGUI用于实现自动化键盘和鼠标操作。本文档基于Chat GPT学习整理。
moveTo
将鼠标移动到屏幕上的指定位置
11pyautogui.moveTo(x,y,duration)参数x和y分别指定了鼠标光标要移动到的屏幕上的x和y坐标,坐标系的原点通常位于屏幕左上角,向右移动,x增加;向下移动,y增加
参数duration为可选参数,表示鼠标移动到指定位置所需要的时间。如果省略这个参数,鼠标会立即跳到指定位置;如果指定了这个参数,鼠标将在指定的时间内,平滑地移动到目的地。
示例如下:
11pyautogui.moveTo(100, 150, duration=2)click
在当前鼠标位置执行单击
x
1pyautogui.click()以下参数均为可选参数
x和 y这两个可选参数指定了单击的屏幕坐标。如果提供了这些参数,鼠标首先会移动到这个位置,然后执行单击。如果省略这些参数,鼠标会在当前位置执行单击。
clicks指定单击的次数。默认为 1,但可以设置为更大的数值来执行多次单击,例如双击。
interval在多次单击之间的等待时间(秒)。仅在 clicks 参数大于 1 时使用。
button可以指定要模拟的鼠标按钮,通常是 left、right 或 middle。默认为 left。
示例如下:
x
1pyautogui.click(x=200, y=300, button='right',clicks=2, interval=0.25)rightClick
在鼠标位置执行右键单击
xxxxxxxxxx11pyautogui.click()x和 y这两个可选参数指定了单击的屏幕坐标。如果提供了这些参数,鼠标首先会移动到这个位置,然后执行单击。如果省略这些参数,鼠标会在当前位置执行单击。
示例如下:
xxxxxxxxxx11pyautogui.rightClick(x=400, y=500)doubleClick
在鼠标位置执行双击操作
xxxxxxxxxx11pyautogui.doubleClick()x和 y这两个可选参数指定了单击的屏幕坐标。如果提供了这些参数,鼠标首先会移动到这个位置,然后执行单击。如果省略这些参数,鼠标会在当前位置执行单击。
interval: 双击之间的等待时间(秒)。默认值通常很短,模拟自然的双击速度
示例如下:
xxxxxxxxxx11pyautogui.doubleClick(x=300, y=400, interval=0.25)dragTo
鼠标拖动到指定位置
xxxxxxxxxx11pyautogui.dragTo(x, y, duration)button 可以指定要模拟的鼠标按钮,通常是 left、right 或 middle。默认为 left。
示例如下:
x
1pyautogui.dragTo(500, 600, duration=2, button='left')typewrite
模拟键盘输入文本
xxxxxxxxxx11pyautogui.typewrite(message)message这个参数是一个字符串,表示要通过键盘输入的文本。
interval是一个可选参数,表示每个字符输入之间的时间间隔(秒)。如果省略,字符将会被尽可能快地输入。
示例如下:
xxxxxxxxxx11pyautogui.typewrite('Hello, world!', interval=0.25)press
模拟按下一个键
x
1pyautogui.press(key)key这个参数是一个字符串,代表要模拟按下的键。它可以是一个单一字符(如 'a', '1', ' ')或特殊键的名称(如 'enter', 'esc', 'ctrl')。
示例如下:
xxxxxxxxxx11pyautogui.press('up')hotkey
模拟按下多个键,快捷键组合等
xxxxxxxxxx11pyautogui.hotkey(key1, key2, ...)key1, key2这些参数是一系列的字符串,代表要按下的键。可以是单个字符(如 'a', '1')或特殊键的名称(如 'ctrl', 'alt', 'shift')。函数将按照参数的顺序先后按下这些键,然后再依次释放它们。
示例如下:
xxxxxxxxxx11pyautogui.hotkey('ctrl', 'c')screenshot
截取当前屏幕的快照
xxxxxxxxxx11pyautogui.screenshot()region是一个可选参数,用于指定要截取的屏幕区域。region 应该是一个四元组 (x, y, width, height),其中 x 和 y 定义了区域左上角的坐标,width 和 height 定义了区域的宽度和高度。
imageFilename: 可选参数,如果提供,屏幕截图将保存到指定的文件路径。
示例如下:
xxxxxxxxxx11region_screenshot = pyautogui.screenshot(region=(0, 0, 500, 400))locateOnScreen
在屏幕上查找图片
xxxxxxxxxx11pyautogui.locateOnScreen(image)image这个参数是一个字符串,表示要查找的图片文件的路径。这个图片应该是屏幕上某个元素的截图,例如一个按钮、图标或其他任何可视元素。
找到了匹配的图像,locateOnScreen 函数返回一个四元组 (left, top, width, height),表示找到的区域的位置和大小;如果没有找到匹配的图像,它返回 None。
示例如下:
xxxxxxxxxx11location = pyautogui.locateOnScreen('button.png')alert
显示带有文本的警告框
xxxxxxxxxx11pyautogui.alert(text)text这个参数是一个字符串,表示要在弹窗中显示的消息文本。
title是一个可选参数,用于指定弹窗的标题。如果省略,会使用默认标题。
button是一个可选参数,用于自定义弹窗上按钮的文本。默认是“OK”。
当用户点击弹窗上的按钮时,alert 函数返回按钮的文本。
示例如下:
x
1response = pyautogui.alert('这是一个重要警告!', button='警告', title='警告')2print("用户点击了:", response)confirm
显示带有确认和取消按钮的对话框
xxxxxxxxxx11pyautogui.confirm(text)参数和返回值均与alert相同
示例如下:
x
1response = pyautogui.confirm('请选择一个选项', '选择对话框', buttons=['按钮1', '按钮2', '按钮3'])2print("用户选择了:", response)prompt
显示带有文本输入框的对话框
xxxxxxxxxx11pyautogui.prompt(text)text和title参数与alert相同,default为可选参数,用于设置文本框的默认值。
当用户输入文本并点击“OK”时,prompt 函数返回用户输入的文本。
如果用户点击“Cancel”或关闭对话框,函数返回 None。
示例如下:
x
1default_name = 'John Doe'2name = pyautogui.prompt('请输入您的姓名:', '姓名输入', default=default_name)3
4print("用户输入的姓名是:", name)scroll
滚动鼠标滚轮
xxxxxxxxxx11pyautogui.scroll(amount)amount这个参数指定了滚动的量。正数代表向上滚动(远离用户);负数代表向下滚动(朝向用户);数值的大小决定了滚动的距离。
示例如下:
xxxxxxxxxx11pyautogui.scroll(-100)position
获取当前鼠标位置
xxxxxxxxxx11pyautogui.position()返回一个二元组 (x, y),其中 x 和 y 分别是鼠标光标当前在屏幕上的水平和垂直坐标。
示例如下:
x
1pos = pyautogui.position()2
3print("鼠标位置:", pos)