0. 官方文档
有条件的可以直接阅读官方文档进行学习和查找库的相关用法,下文只介绍了库的一些基本信息和用法,并且有部分内容参考官方文档。
官方文档地址(https://pyautogui.readthedocs.io/en/latest/index.html)
1. 安装
打开控制台,输入如下命令:
pip install pyautogui
回车,等待安装完成即可。
2. 屏幕与鼠标位置
如下述字符表示的,屏幕的坐标以左上角为原点。
0,0 X increases -->
+--------------------------------------------+
| | Y increases
| | |
| 1920 x 1080 screen | |
| | V
| |
| |
+--------------------------------------------+ 1919, 1079
size()
获取屏幕分辨率大小,并以元组返回。例如:
>>> pyautogui.size()
(1920, 1080)
position()
返回鼠标光标的当前X和Y坐标,并以元组返回。例如:
>>> pyautogui.position()
(187, 567)
`onScreen()` 检查屏幕上是否有XY坐标,请将它们(作为两个整数参数或一个带两个整数的元组/列表参数)传递给 `onScreen()` 函数,如果它们在屏幕边界内,则返回True;如果不在屏幕边界内,则返回False。例如:
>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.onScreen(1920, 1080)
False
>>> pyautogui.onScreen(1919, 1079)
True
3. 鼠标操作
moveTo()
将鼠标光标移动到传递给它的X和Y整数坐标。可以为坐标传递None值,以表示“当前鼠标光标位置”。例如:
>>> pyautogui.moveTo(100, 200)
>>> pyautogui.moveTo(None, 500)
>>> pyautogui.moveTo(600, None)
`dragTo()` 按住鼠标的情况下(一定时间内)将鼠标光标移动到传递给它们的X和Y整数坐标。关键字参数 `button` 表示在拖动过程中按住的鼠标的键。可以设置为 `'left'``'right'``'middle'`。
>>> pyautogui.dragTo(100, 200, button='left') # 按住鼠标左键移动到(100,200)位置
>>> pyautogui.dragTo(300, 400, 2, button='right') # 按住鼠标右键在2秒内移动到(300,400)位置
drag()
按住鼠标的情况下(一定时间内)将鼠标光标在原位置上朝X和Y方向移动传递给它们的整数坐标。关键字参数 button
表示在拖动过程中按住的鼠标的键。可以设置为 'left'``'right'``'middle'
。
>>> pyautogui.drag(100, 200, button='left') # 按住鼠标左键向右移动100,向下移动200
>>> pyautogui.drag(300, 400, 2, button='right') # 按住鼠标右键在2秒内向右移动300,向下移动400
click()
在鼠标的当前位置模拟一次鼠标左键单击。
>>> pyautogui.click()
传递 x 和 y 关键字参数的整数既可以结合 moveTo() 函数调用,使得鼠标光标先移动到指定坐标位置再点击。
>>> pyautogui.click(x=100, y=200) # 鼠标光标移动到(100,200)后点击左键
关键字参数 `button` 表示鼠标点击的按键。可以设置为 `'left'``'right'``'middle'`。
>>> pyautogui.click(button='right') # 点击右键
关键字参数 `clicks` 可以指定点击的次数,关键字参数 `interval` 可以在指定点击的间隔.
>>> pyautogui.click(clicks=2) #点击鼠标左键 2 次
>>> pyautogui.click(clicks=2, interval=0.25) # 以 0.25 秒的间隔点击鼠标左键 2 次
>>> pyautogui.click(button='right', clicks=3, interval=0.25) # 以 0.25 秒的间隔点击鼠标右键 3 次
`doubleClick()` 函数将双击鼠标左键。它也具有可选的 `x``y``interval``button` 关键字参数。
还有一个 tripleClick()
函数,具有类似的可选关键字参数。
scroll()
可以模拟鼠标滚轮,传递 x
和 y
关键字参数可以使鼠标光标移动到特定坐标再进行滚动。
>>> pyautogui.scroll(10) # 向上滚 10 下
>>> pyautogui.scroll(-10) # 向下滚 10 下
>>> pyautogui.scroll(10, x=100, y=100) # 移动到(100,100)位置后滚动 10 下
4. 键盘操作
write()
可以模拟键入字符串,关键字参数 interval
可以添加每个字符间的键入间隔。
>>> pyautogui.write('Hello world!')
keyDown()
可以模拟按键的按下,而 keyUp()
可以模拟按键的松开。
press()
则是 keyDown()
和 keyUp()
的结合,模拟按键按下后松开。
>>> pyautogui.keyDown('shift') # 按下按键 shift
>>> pyautogui.press('left') # 按一下方向键 ←
>>> pyautogui.press('left') # 按一下方向键 ←
>>> pyautogui.keyUp('shift') # 松开按键 shift
>>> pyautogui.press(['left', 'left', 'left']) # 按方向键 ← 3 次
>>> pyautogui.press('left', presses=3) # 按方向键 ← 3 次
关键字参数 interval
可以添加每个字符间的键入间隔。
5. 消息盒子
>>> pyautogui.alert(text='', title='', button='OK')
>>> pyautogui.confirm(text='', title='', button='OK')
>>> pyautogui.prompt(text='', title='' , default='')
>>> pyautogui.pasword(text='', title='' , default='', mask='*')
6. 截图
pyautogui 库还有截图功能的函数,可以阅读官方文档了解。