什么是 PyAutoGUI

PyAutoGUI 是一个可以在屏幕上自动执行鼠标操作的库。
它可以以非常简单的方式编写,因此可以以多种不同的方式使用。

安装 PyAutoGUI

要使用 PyAutoGUI,您需要使用 pip 安装它。

安装 PyAutoGUI
pip install pyautogui

安装后我会导入它。这一次,我可以使用pgui 拨打电话。

导入 PyAutoGUI
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“画图”中单击绿色。

【自動化】PyAutoGUIでノータッチお絵描きしてみた

在这种情况下,将绿色部分剪切为图像('green.png')。

【自動化】PyAutoGUIでノータッチお絵描きしてみた

单击任意位置
# 緑の部分をクリック
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的详细使用请参考以下。

使用 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 进行绘图。
这一次,我会在反复画一个漩涡后添加评论。

油漆 t。 py
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でノータッチお絵描きしてみた

进展顺利。我认为您可以通过更多的努力使事情变得更有趣。

参考


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308623937.html

相关文章: