GUI模块

屏幕和鼠标位置

屏幕上的位置由 X 和 Y 笛卡尔坐标表示,坐标。 X 坐标从左侧的 0 开始并增加到右侧。和数学不同,Y 坐标从顶部的 0 开始并增加到底部。

0,0       X increases -->
+---------------------------+
|                           | Y increases
|                           |     |
|   1920 x 1080 screen      |     |
|                           |     V
|                           |
|                           |
+---------------------------+ 1919, 1079

左上角的像素位于坐标 0, 0。如果您的屏幕分辨率为 1920 x 1080,则在右下角的像素将为 1919, 1079(因为坐标从 0 开始而不是 1)。

屏幕分辨率大小由“size()”函数作为一个元组返回。鼠标的当前 X 和 Y 坐标由“position()”函数返回。

例如:

>>> from pyhutool.gui import Mouse

>>> Mouse.size() # Size(width=1440, height=900)
>>> Mouse.position() # Point(x=293, y=605)

鼠标点击功能

>>> from pyhutool.gui import Mouse
>>> Mouse.click(500, 500)
>>> size = Mouse.size()
>>> position = Mouse.position()
>>> Mouse.leftClick(500, 500)

输入功能

主要的键盘函数是 write()。该函数将键入字符串中的字符。要在每次按下字符键之间添加一个延迟间隔,请传递一个 int 或 float 给 interval 关键字参数。例如:

>>> from pyhutool.gui import Keyboard
>>> Keyboard.typewrite('hello world', 0.2)

press、keyDown 和 keyUp 函数

要按下这些键,请调用 press() 函数并将其传递给来自 pyhutool.KEYBOARD_KEYS 的字符串,例如 enter、esc、f1。例如:

>>> from pyhutool.gui import Keyboard

>>> Keyboard.keyDown('h')
>>> Keyboard.keyUp('h')

>>> Keyboard.press('enter')

热键功能

为了方便按下热键或键盘快捷键,热键() 可以传递多个键字符串,这些键字符串将按顺序按下,然后在反向释放。这段代码:

>>> from pyhutool.gui import Keyboard
>>> Keyboard.hotkey('ctrl', 'shift', 'esc')

截图功能

调用 screenshot() 将返回一个 Image 对象(参见 Pillow 或 PIL模块文档了解详细信息)。传递文件名字符串将屏幕截图保存到文件中,并将其作为 Image 对象返回。

>>> from pyhutool.gui import Screenshot

>>> Screenshot.screenshot('test.png')
>>> Screenshot.screenshot('test.png', region=(0,0, 300, 400))
>>> Screenshot.screenshot('test.png')
>>> Screenshot.screenshot('test.png', region=(0,0, 300, 400))

定位函数

根据特征图像在屏幕中查找坐标

>>> from pyhutool.gui import Screenshot
>>> locate = Screenshot.locateOnScreen('img_1.png')