菩提香珊 發表於 2026-1-5 17:07:00

gui自动化—1.控制鼠标

<h1>前期准备:</h1>
<p>使用pyautogui包 进行操作</p>
<p>一切操作的基础得先理解坐标,以屏幕左上为坐标原点,水平方向为x轴,方向向右;垂直方向为y轴,方向向下。例如屏幕分辨率为1920×1080,那么左上为(0,0),右下为(1919,1079)</p>
<h1>获取像素:</h1>
<p>pyautogui.size()返回两个整数,分别为屏幕宽和高的像素数</p>
<p>pyautogui.position()返回两个整数,分别为当前鼠标位置的坐标(x,y)</p>
<p>那么开始操作鼠标</p>
<h1>控制鼠标:</h1>
<p>&nbsp;</p>
<p>鼠标无非以下几种基本操作:</p>
<p>点击,移动,拖动,滚轮滑动</p>
<h2>点击:</h2>
<p>pyautogui.click(x,y,button="H")</p>
<p>该函数作用为 鼠标点击(x,y)坐标,x和y也可不标注默认鼠标当前位置,button参数为左右键,参数为左键“left”,右键“right”,默认左键</p>
<p>下列参数一致</p>
<p>pyautogui.mouseDown()    只按下左键</p>
<p>pyautogui.mouseUp()      只松开左键</p>
<p>pyautogui.doubleClick()     左键双击</p>
<p>pyautogui.rightClick()      右键点击</p>
<p>pyautogui.middleClick()&nbsp;    中间点击</p>
<p>&nbsp;</p>
<h2>移动:</h2>
<h3>绝对移动:</h3>
<p>pyautogui.moveTo(x,y,duration=a)</p>
<p>该函数作用为将鼠标移动到(x,y)坐标下,duration参数为移动的时间,可以是整数或浮点数,默认为0</p>
<div class="cnblogs_Highlighter">
<pre class="brush:python;gutter:true;">pyautogui.moveTo(100, 100)
for i in range(3):
    pyautogui.moveTo(100, 100, duration=1)
    pyautogui.moveTo(1800,100, duration=1)
    pyautogui.moveTo(1800,900, duration=1)
    pyautogui.moveTo(100,900, duration=1)
</pre>
</div>
<p> 例子为将鼠标移动到(100,100)然后开始以1秒一条边的方式在平面上画框</p>
<h3>相对移动:</h3>
<p>pyautogui.moveRel(x1,y1,duration=a)</p>
<p>该函数作用为将鼠标坐标(x,y)移动到(x+x1,y+y1)的坐标下,duration参数为移动的时间,可以是整数或浮点数,默认为0</p>
<div class="cnblogs_Highlighter">
<pre class="brush:python;gutter:true;">pyautogui.moveTo(800, 100)
for i in range(3):
    pyautogui.moveRel(400, 800, duration=1)
    pyautogui.moveRel(-600,0, duration=1)
    pyautogui.moveRel(200,-800, duration=1)
</pre>
</div>
<p>  例子为将鼠标移动到(800,100)然后开始以1秒一条边的方式在平面上画三角</p>
<h2>拖动:</h2>
<h3>绝对拖动:</h3>
<p>pyautogui.dragTo(x1,y1,duration=a)</p>
<div>&nbsp;该函数作用为将鼠标拖动到(x,y)坐标下,duration参数为移动的时间,可以是整数或浮点数,默认为0,注意设置一下该参数,时间太短容易报错【系统也是需要反应时间的</div>
<h3>相对移动:</h3>
<p>pyautogui.dragRel(x1,y1,duration=a)</p>
<p>该函数作用为将鼠标从(x,y)坐标拖动到(x+x1,y+y1),参数相同,注意设置一下</p>
<p>滑轮滚动:</p>
<p>pyautogui.scroll(a)</p>
<p>在当前鼠标位置滚动a个单位,正值向上,负值向下</p>
<div>&nbsp;</div><br><br>
来源:https://www.cnblogs.com/berserker-slst/p/19443924
頁: [1]
查看完整版本: gui自动化—1.控制鼠标