Python控制鼠标
风吹落叶花飘荡 人气:4一、序言
使用python控制按键无疑非常重要的技能,特别是结合机器视觉更是能发挥出超强的实力!
二、配置环境
1.下载pyautogui包
pip install pyautogui -i http://pypi.tuna.tsinghua.edu.cn/simple/
注:如果有可能,可以在pycharm中进行以下Python控制的鼠标和键盘的测试与学习。
二、鼠标控制
注:由于这部分功能我不能通过截屏来显著表现出来,在程序运行结果就不截屏了,保持界面整洁
1、获取鼠标位置函数以及测试源码
#获取鼠标位置 import pyautogui as pg #没别的作用就单纯换个名字 try: while True: x,y=pg.position() #核心函数pg.position() print(str(x)+" "+str(y)) #输出鼠标的x,y except KeyboardInterrupt: print("\n")
程序功能:
实时输出当前鼠标位置
核心函数:
函数名 | 功能 |
---|---|
pyautogui .position() | 返回当前鼠标的x,y坐标。 |
核心代码:
换名:第2行 import pyautogui as pg输出鼠标位置:第5~6行
x,y=pg.position() #核心函数pg.position()
print(str(x)+" "+str(y)) #输出鼠标的x,y
2、控制鼠标左击/右击/双击函数以及测试源码
# 获取鼠标位置 import pyautogui as pg try: while True: x, y = pg.position() print(str(x) + " " + str(y)) #输出鼠标位置 if 1746 < x < 1800 and 2 < y < 33: pg.click()#左键单击 if 1200 < x < 1270 and 600 < y < 620: pg.click(button='right')#右键单击 if 1646 < x < 1700 and 2 < y < 33: pg.doubleClick()#左键双击 except KeyboardInterrupt: print("\n")
a.程序功能
在输出鼠标位置的基础,分别设置了三个区域,当鼠标达到这三个区域时候,进行左键单击、右键单击,左键双击。
b.核心函数
函数名 | 功能 |
---|---|
pyautogui.click() | 鼠标左键单击 |
pyautogui.click(button=‘right’) | 鼠标右键单击 |
pyautogui.doubleClick() | 鼠标左键双击 |
c.核心代码
1、触发某事件就控制鼠标点击:第9~14行
注:click()函数默认:button=‘left’
3、控制鼠标移动/拖动
# 3、控制鼠标移动/拖动demo import pyautogui as pg try: while True: x, y = pg.position() print(str(x) + " " + str(y)) #输出鼠标位置 #实现鼠标绝对移动功能 if 1011 < x < 1357 and 320 < y < 527: pg.moveTo(1750, 20, 2)#花2s从当前位置移动到(1750,20) pg.click() # 左键单击 #实现鼠标相对移动功能 if 600 < x < 1000 and 305 < y < 425: pg.move(0, 200) # 基于当前位置瞬间向下移动200像素 #实现鼠标拖动功能 if 1142<x<1391 and y<25: pg.dragTo(300, 400, 2, button='left') #花2s从当前位置拖到(300,400) except KeyboardInterrupt: print("\n")
a.程序功能
在输出鼠标位置的基础,分别设置了三个区域,当鼠标达到这三个区域时候,分别进行绝对移动,相对移动,鼠标拖动三个运行演示。
注:在运行代码全,将Pycharm全屏演示效果更好哦
b.核心函数
函数名 | 功能 |
---|---|
pyautogui.moveTo() | 鼠标绝对移动 |
pyautogui.move() | 鼠标相对移动 |
pyautogui.dragTo() | 鼠标绝对拖动 |
c.核心代码
1、触发某事件就控制鼠标移动/拖动:第9~19行
注:click()函数默认:button=‘left’
4、控制鼠标滚轮滚动
import pyautogui as pg # 执行鼠标滚轮的滚动。垂直滚动还是水平滚动取决于底层操作系统。 pg.scroll(100) # scroll up 50 "clicks"
注:是的就两行,如果你是放在上面中使用,应该算只要一行就可以实现了。
总结
加载全部内容