什么是 PyAutoGUI
PyAutoGUI 是一个可以在屏幕上自动执行鼠标操作的库。
它可以以非常简单的方式编写,因此可以以多种不同的方式使用。
安装 PyAutoGUI
要使用 PyAutoGUI,您需要使用 pip 安装它。
pip install pyautogui
安装后我会导入它。这一次,我可以使用pgui 拨打电话。
import pyautogui as pgui
基本操作
鼠标操作
点击
鼠标左键点击是pyautogui.click()。
| 功能 | 解释 |
|---|---|
| 吃兔子。点击() | 当前鼠标光标位置点击 |
| pyautogui.click(x, y) | 显示器上坐标 (x, y) 的位置点击 |
| 吃兔子。 ck('image.png') | 您要单击的按钮的图像然后点击那里 |
pyautogui.click(x, y)
在监视器上单击坐标 (x, y) 的位置。
例如,如果您的显示器分辨率为 1920 x 1080,则左上角为 (0,0),右下角为 (1919, 1079)。
0,0 X increases -->
+---------------------------+
| | Y increases
| | |
| 1920 x 1080 screen | |
| | V
| |
| |
+---------------------------+ 1919, 1079
(PyAutoGui公式ドキュメントから転載 <https://pyautogui.readthedocs.io/en/latest/mouse.html>)
吃兔子。 ck('image.png')
通过指定要单击的按钮的图像('gazou.png'),您可以单击任意位置。
这次我想在 Windows“画图”中单击绿色。
在这种情况下,将绿色部分剪切为图像('green.png')。
# 緑の部分をクリック
pyautogui.click('green.png')
此方法很有用,但要小心,因为在某些情况下它可能无法识别图像的位置。
不同的点击方式
| 点击类型 | 功能 |
|---|---|
| 左键单击 | 吃兔子。点击() |
| 右键点击 | pyautogui.rightClick() |
| 双击 | pyautogui.doubleClick() |
| 车轮点击 | pyautogui.middleClick() |
您可以按照上面的功能进行左键以外的操作。
移动鼠标光标
鼠标光标移动有两种类型:绝对位置和相对位置。
| 功能 | 解释 |
|---|---|
| pyautogui.moveTo(x,y) | 在监视器上指定坐标 (x, y) 并移动到那里 |
| pyautogui.move(x,y) | 从当前位置水平移动 x 和垂直移动 y |
pyautogui.moveTo(x,y)
在监视器上指定坐标 (x,y) 以移动到那里。你在哪里并不重要。
作为moveTo()的第三个参数是时候搬家了也可以指定。
如果你不指定时间,它会立即移动,但是你可以通过指定这个时间来慢慢移动。
# (100,100)の位置に移動
pyautogui.moveTo(100,100)
# (100,100)の位置に2秒かけて移動
pyautogui.moveTo(100,100,2)
pyautogui.move(x,y)
从当前鼠标光标位置水平移动 x 和垂直移动 y。move() 还可以指定移动所需的时间。
# 現在位置から(100,100)だけ移動
pyautogui.move(100,100)
# 現在位置から(100,100)だけ2秒かけて移動
pyautogui.move(100,100,2)
拖
有两种类型的拖动,具体取决于目的地是绝对的还是相对的。
拖动也是第三个参数拖拽时间可以指定。
| 功能 | 解释 |
|---|---|
| pyautogui.dragTo(x,y) | 从当前位置拖动到显示器上的坐标 (x,y) |
| pyautogui.drag(x,y) | 从当前位置拖动水平 x,垂直 y |
# 現在位置から(100,100)の位置まで5秒かけてドラッグ
pyautogui.dragTo(100,100,5)
键盘操作
字符输入(英文)
使用pyautogui.write() 从键盘输入字符。
实际上,一旦您单击要输入字符的文本框,
我想你会激活字符光标然后做pyautogui.write()。
pyautogui.write('Hello world!')
字符输入(日语)
输入日文时,先将要输入的字符串复制粘贴到剪贴板。
操作剪贴板弹夹利用
pyperclip的详细使用请参考以下。
import pyperclip
# 入力した文字列をクリップボードにコピー
pyperclip.copy('こんにちは、世界!')
# Ctrl+vで貼り付け
pyautogui.hotkey('ctrl', 'v')
按键输入
如果您只想按一个键而不是输入字符,请使用pyautogui.press()。
#「Enterキー」を押す
pyautogui.press('enter')
#「左カーソルキー」を4回押す
pyautogui.press(['left', 'left', 'left', 'left'])
例如“Ctrl+C(粘贴)”和“Ctrl+Z(撤消)”热键指定为pyautogui.hotkey()。
# 「Ctrl+C(コピー)」
pyautogui.hotkey('ctrl', 'c')
# 「Ctrl+Z(元に戻す)」
pyautogui.hotkey('ctrl', 'z')
创建的程序
最后,让我们利用目前所学的知识,用 Windows Paint 进行绘图。
这一次,我会在反复画一个漩涡后添加评论。
import pyautogui as pgui
import pyperclip as pyclip
pgui.moveTo(400,300,duration=2)
pgui.click(400,300)
## 新規ページに更新
pgui.hotkey("ctrl","n")
pgui.press("n")
mt=0.1
distance=400
pgui.click("green.png")
pgui.moveTo(300,300,duration=0.5)
# 渦巻きの描画
while distance>0:
pgui.dragRel(distance,0,duration=mt)
distance-=20
pgui.dragRel(0,distance,duration=mt)
pgui.dragRel(-distance,0,duration=mt)
distance-=20
pgui.dragRel(0,-distance,duration=mt)
# テキストボックスを選択
pgui.click("text.png")
pgui.click(400,750)
pyclip.copy('蚊取り線香みたいだ!')# 日本語は一旦クリップボードにコピー
pgui.hotkey('ctrl', 'v')# 貼り付け
执行结果
进展顺利。我认为您可以通过更多的努力使事情变得更有趣。
参考
- 欢迎来到 PyAutoGUI 的文档!
- PyAutoGUI 备忘单
- [自动化] 使用 Python 操作鼠标和键盘
- 使用 PyAutoGUI 实现 Python 自动化 | 完整的项目课程!
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308623937.html