PyAutoGUI——图形用户界面自动化(鼠标控制功能)

Posted Dream丶Killer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyAutoGUI——图形用户界面自动化(鼠标控制功能)相关的知识,希望对你有一定的参考价值。

💗开始之前💗

在开始之前,要先安装所需要的模块 pyautoguipyautogui 模块可以向 Windows 发送虚拟按键和鼠标点击。

pip install -i https://pypi.douban.com/simple pyautogui

1️⃣ 查看屏幕大小

pyautogui.size() 可以获得屏幕的宽和高的像素数(整数)。

>>> pyautogui.size()
Size(width=1920, height=1080)
# 也可以直接将宽,高进行保存 x, y = pyautogui.size()

2️⃣ 获取当前鼠标的位置

函数返回当前位置 X,Y 坐标的元组,如果设置 x,y 的参数,则会覆盖返回结果。

>>> pyautogui.position(x=None, y=None)
Point(x=1437, y=817)

3️⃣ 检查指定坐标是否在屏幕上

要检查 X,Y 坐标是否在屏幕上,将它们(支持两个整数,列表,元组)传递给 onScreen() 函数,如果它们在屏幕的边界内,则返回 True ,否则返回 False

>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.onScreen(1920, 1080)
False
>>> pyautogui.onScreen(1919, 1079)
True

4️⃣ 设置暂停时间

使用 pyautogui.PAUSE 变量设置要暂 停的秒数。如,在设置 pyautogui.PAUSE = 1 之后,每个 PyAutoGUI 函数调用 在执行动作之后,都会等待一秒。

>>> pyautogui.PAUSE = 1

5️⃣ 移动鼠标

移动鼠标到指定位置。

pyautogui.moveTo(x=None, y=None, duration=0.0) # 移动鼠标到指定位置
pyautogui.move(xOffset=None, yOffset=None, duration=0.0) # 在PyAutoGUI 1.0,move 替换了 moveRel,但moveRel也可以使用

pyautogui.moveTo(200, 300, duration=0.5)   # 移动到坐标(200,300)
pyautogui.move(200, 300, duration=0.5)     # 从当前鼠标位置向右移动 200 向下移动 300

主要参数参数:

x/xOffset:X轴坐标,moveTo() 中取值0或正整数值,move()/moveRel() 中取值可以为负数,代表以当前位置向左移动

y/yOffset:Y轴坐标,moveTo() 中取值0或正整数值,move()/moveRel() 中取值可以为负数,代表以当前位置向上移动

duration:移动到指定坐标花费的时间,默认为0,代表立即完成,单位为s


6️⃣ 鼠标点击

使用 click() 完成鼠标点击操作。

>>> pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0)

主要参数:

x:X轴坐标,默认为 None,即当前X轴坐标

y:Y轴坐标,默认为 None,即当前Y轴坐标(注:X,Y 轴的坐标只能同时指定,不能只指定某一个)

clicks:鼠标的点击次数,默认为 1 次

interval:int 或浮点数,表示每次单击之间需要等待多少秒,默认值为0.0,表示单击之间没有暂停

button:可选 LEFTMIDDLERIGHTPRIMARY(左键)或 SECONDARY(右键)。它的默认值是 PRIMARY

duration:如果指定了 X,Y 的值,并且该坐标不是鼠标当前位置的话,那么 duration 参数就可以生效,它表示移动到指定坐标花费的时间,默认为 0,表示立即移动。

💬 其他点击操作:

pyautogui.mouseDown()    # 按下鼠标按键(左键)
pyautogui.mouseUp()      # 释放鼠标按键(左键)

7️⃣ 鼠标拖动

按住鼠标的某个键进行拖动。

pyautogui.dragTo(x=None, y=None, duration=0.0, button=PRIMARY)     # 将鼠标拖动到指定位置  

pyautogui.drag(xOffset=0, yOffset=0, duration=0.0, button=PRIMARY)    # 将鼠标拖动到屏幕上相对于当前位置的一个点。

主要参数:

x,y/xOffset,yOffset:x 和 y 指明鼠标事件发生的位置。如果为 None,则使用鼠标当前位置。如果是浮点值,则将其舍入。如果在屏幕边界之外,则事件发生在屏幕边缘。

duration:如果指定了 X,Y 的值,并且该坐标不是鼠标当前位置的话,那么 duration 参数就可以生效,它表示移动到指定坐标花费的时间,默认为 0,表示立即移动。

button:可选 LEFTMIDDLERIGHTPRIMARY(左键)或 SECONDARY(右键)。它的默认值是 PRIMARY

▶️示例:


8️⃣ 鼠标滚动

垂直滚动,在不同平台滚动的效果可能不一样。

>>> pyautogui.scroll(100)   # 向上滚动100
>>> pyautogui.scroll(-100)  # 向下滚动100
>>> pyautogui.scroll(100, x=200, y=200)  # 移动到200, 然后执行滚动

水平滚动,(适用与 OS XLinux 平台上)。

>>> pyautogui.hscroll(100)   # 向右滚动100
>>> pyautogui.hscroll(-100)   # 向左滚动100

▶️示例:


暂时整理到这里吧,如果感觉还不错的话,❤ 记得点个赞哟!!!❤

以上是关于PyAutoGUI——图形用户界面自动化(鼠标控制功能)的主要内容,如果未能解决你的问题,请参考以下文章

selenium的PyAutoGUI模块

python使用笔记:pyautogui自动化控制鼠标和键盘

自动化工具:PyAutoGUI的鼠标与键盘控制,解放双手的利器

python自动化办公--pyautogui控制鼠标和键盘操作

Python自动操作 GUI 神器——PyAutoGUI

python selenium框架解决ip代理框不能自动化登录,解决pyautogui开不了多线程问题