PyAutoGUI之:鼠标操作

本文介绍了如何利用Python的PyAutoGUI库进行鼠标的基本操作,包括移动、点击、右击和双击,以及获取和设置鼠标当前位置的方法,为自动化脚本提供了便利的鼠标控制功能。
摘要由CSDN通过智能技术生成

讲使用PyAutoGUI库来操作鼠标前,我们要先列一下鼠标的下面五种基本操作:

  • 移动(move): 移动鼠标指针,直到鼠标指针到屏幕的某个位置
  • 单击(click): 用手指点击鼠标左键一下然后放开,一般用于按动按钮等操作
  • 右击(right click): 用手指点击鼠标右键一下然后放开,一般是在Windows中用于弹出快捷菜单操作
  • 双击(double click): 快速地,连续地用手指点击鼠标左键两下然后放开,双击一般用于打开Windows新窗口,运行程序等
  • 拖动(drag): 按住鼠标左键或右键不放同时移动鼠标,称为"拖动",一般用于移动文件,或者画图等操作

通常,我们用程序在对鼠标进行操作时,

1. 我们得先知道鼠标的当前位置(既鼠标指针当前在屏幕的哪个位置)。

首先我们得知道桌面(屏幕)有多大,并且给桌面(屏幕)建立X-Y坐标系。

以1920*1080分辨率的桌面(屏幕)为例

0,0       X坐标 --> 增长方向
+---------------------------+
|                           |   Y 坐标
|                           |     |
|   1920 x 1080 screen      |     |
|                           |     V
|                           |  增长方向
|                           |
+---------------------------+ 1919, 1079

这个X-Y坐标系

  1. 以桌面(屏幕)的左上角为原点(0,0),
  2. 从左向右X坐标增长到最大值1919。
  3. 从上到下Y坐标增长到最大值1079。

这就是我们鼠标在桌面(屏幕)上所有可以指向的区域的坐标点的集合。我们可知道,我们总是可以用(X,Y)来定位鼠标在桌面(屏幕)的当前的指向的位置。所以接下去,我们可以简单的用以下二个函数来获得

  1. 当前桌面的分辨率
  2. 当前鼠标所指向的位置
import pyautogui
x,y = pyautogui.size()
print(x,y)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)

运行后可以得到如下输出

1920 1080
947 888

表示当前桌面(屏幕)的分辨率为1920 * 1080,当前鼠标的指针所指向的位置是X= 947, Y=888。

2. 移动鼠标

移动鼠标是我们常用的操作之一,简单的说就是将鼠标移动到桌面(屏幕)的某一个位置,在上一节中,我们已知屏幕上的每个位置都可以由一组(x,y)坐标来标识,所以这个操作很简单,我们用pyautogui.moveTo(1438, 868,duration=0.5)将鼠标指针移动到桌面(屏幕)的(1438, 868)这个位置。

import pyautogui
x,y = pyautogui.size()
print(x,y)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.moveTo(1438, 868,duration=1)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)

3.单击鼠标

通常,移动鼠标到指定位置后,我们会要做的动作可能有以下几个:单击鼠标,双击鼠标,右击鼠标,此章节我们在第2章节的基础上增加单击鼠标(左击鼠标)的操作。

import pyautogui
x,y = pyautogui.size()
print(x,y)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.moveTo(1438, 868,duration=1)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.click()

4. 右击鼠标

通常,移动鼠标到指定位置后,我们会要做的动作可能有以下几个:单击鼠标,双击鼠标,右击鼠标,此章节我们在第2章节的基础上增加右击鼠标的操作。

import pyautogui
x,y = pyautogui.size()
print(x,y)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.moveTo(1438, 868,duration=1)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.rightClick()

5. 双击鼠标

通常,移动鼠标到指定位置后,我们会要做的动作可能有以下几个:单击鼠标,双击鼠标,右击鼠标,此章节我们在第2章节的基础上增加双击鼠标的操作。

import pyautogui
x,y = pyautogui.size()
print(x,y)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.moveTo(1438, 868,duration=1)
cur_x,cur_y = pyautogui.position()
print(cur_x,cur_y)
pyautogui.doubleClick()

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值