PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

PyAutoGui是一個跨平臺GUI自動化庫。

PyAutoGUI是一個Python模塊,用於以編程方式控制鼠標和鍵盤。

PyPutoGUI可以從pip工具安裝或從PyPI下載:

https://pypi.python.org/pypi/PyAutoGUI

源代碼可在以下網址獲得:https://github.com/asweigart/pyautogui

-------------------------------------------------------------------------

本文主要介紹鼠標相關的控制

The Screen and Mouse Position

屏幕和鼠標位置

屏幕上的位置由X和Y笛卡爾座標。 X座標從左側的0開始向右增加。 與數學不同,Y座標從頂部的0開始,向下然後逐漸增加。

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

左上角的像素位於座標0,0處。如果屏幕的分辨率為1920 x 1080,則右下角的像素為1919,1079(因為座標從0開始,而不是1)。

size()函數將屏幕分辨率大小作為兩個整數的元組返回。 position()函數返回鼠標光標的當前X和Y座標。

例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

這是一個簡短的Python 3程序,它將不斷打印出鼠標光標的位置:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

這是Python 2版本:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

要檢查屏幕上是否有XY座標,請將它們(作為兩個整數參數或帶有兩個整數的單個元組/列表參數)傳遞給onScreen()函數,如果它們在屏幕邊界內,則返回True,如果是在屏幕邊界外,則返回False。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

Mouse Movement

鼠標移動

moveTo()函數將鼠標光標移動到X和Y整數座標位置。 可以為座標參數為None值,以表示“當前鼠標光標位置”不變。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

通常鼠標光標會立即移動到新座標。 如果希望鼠標逐漸移動到新位置,請傳遞第三個參數,持續時間(以秒為單位)。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

(如果持續時間小於pyautogui.MINIMUM_DURATION,則移動將是即時的。默認情況下,

pyautogui.MINIMUM_DURATION是0.1。)

如果要將鼠標光標相對於其當前位置移動幾個像素,請使用moveRel()函數。 此函數具有與moveTo()類似的參數。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

Mouse Drags

鼠標拖拉

PyAutoGUI的dragTo()和dragRel()函數具有與moveTo()和moveRel()函數類似的參數。 此外,它們還有一個按鈕關鍵字,可以設置為“左”,“中間”和“右”,拖動時按住鼠標按鈕。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

Tween / Easing Functions

補間/緩動功能

補間是一個額外的功能,使鼠標移動花哨。 如果您不關心這一點,您可以跳過本節。

補間或緩動函數指示鼠標移動到目標時的進度。 通常,當鼠標移動一段時間時,鼠標以恆定速度直線移動到目的地。 這稱為線性補間或線性緩動函數

PyAutoGUI在pyautogui模塊中提供了其他補間函數。 pyautogui.easeInQuad函數可以傳遞給第四個參數moveTo(),moveRel(),dragTo()和dragRel()函數,讓鼠標光標開始緩慢移動,然後加速向目的地方向移動。 總持續時間仍然與傳遞給函數的參數相同。 pyautogui.easeOutQuad是相反的:鼠標光標開始快速移動但在接近目標時減慢速度。 pyautogui.easeOutElastic將來回超過目的地和“橡皮筋”,直到它到達目的地。

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

這些補間函數是從Al Sweigart的PyTweening模塊中複製的:https://pypi.python.org/pypi/ PyTweening https://github.com/asweigart/pytweening不必安裝此模塊即可使用補間功能。

如果要創建自己的補間函數,請定義一個函數,該函數在0.0(表示鼠標移動的開始)和1.0(表示鼠標移動的結束)之間採用單個浮點參數,並返回介於0.0和1.0之間的浮點值。

補間/緩動功能主要模擬人類操作鼠標的隨機行為

Mouse Clicks

鼠標點擊

click()函數模擬鼠標當前位置的單個鼠標左鍵單擊。 “點擊”是指定義為按下按鈕然後將其釋放的整個過程。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

要在單擊之前調用moveTo(),請傳遞x和y關鍵字參數的整數:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

要指定單擊的其他鼠標按鈕,請為“”按鈕傳遞“left”,“middle”或“right”.

關鍵字參數:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

要進行多次單擊,請將整數傳遞給clicks參數。 (可選)您可以將float或integer傳遞給interval關鍵字參數,以指定點擊之間的暫停時間(以秒為單位)。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

作為一個方便的方式,doubleClick()函數將執行雙擊鼠標左鍵。 它還具有可選的x,y,interval和button關鍵字參數。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

tripleClick()函數也有一個具有類似可選關鍵字參數

rightClick() 有可選的x 和y關鍵字參數

The mouseDown() and mouseUp() Functions

mouseDown()和mouseUp()函數

鼠標點擊和拖動包括按下鼠標按鈕並將其釋放回來。 如果要單獨執行這些操作,請調用mouseDown()和mouseUp()函數。 它們具有相同的x,y和按鈕。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

Mouse Scrolling

鼠標滾動

可以通過調用scroll()函數並傳遞整數個“單擊”來滾動來模擬鼠標滾輪。 “點擊”中的滾動量因平臺而異。 (可選)可以為x和y關鍵字參數傳遞整數,以便在執行滾動之前移動鼠標光標。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

在OS X和Linux平臺上,PyAutoGUI還可以通過調用hscroll()函數來執行水平滾動。 例如:

PyAutoGUI 中文幫助文檔-鼠標控制功能介紹

scroll()函數包裝了vscroll(),默認執行垂直滾動

----------------------------------------------------------------------------

相關閱讀:

PyAutoGUI 中文幫助文檔-簡介

PyAutoGUI 中文幫助文檔-安裝

PyAutoGUI 中文幫助文檔- 快速入門參考



分享到:


相關文章: