如何利用Python獲取鼠標(biāo)的實(shí)時(shí)位置
使用Python的第三方庫pyautogui,PyAutoGUI是一個(gè)純Python的GUI自動(dòng)化工具,其目的是可以用程序自動(dòng)控制鼠標(biāo)和鍵盤操作,多平臺支持(Windows,OS X,Linux)。
安裝
pip install pyautogui
pyautogui鼠標(biāo)操作樣例
import pyautogui # 獲取當(dāng)前屏幕分辨率 screenWidth, screenHeight = pyautogui.size() # 獲取當(dāng)前鼠標(biāo)位置 currentMouseX, currentMouseY = pyautogui.position() # 2秒鐘鼠標(biāo)移動(dòng)坐標(biāo)為100,100位置 絕對移動(dòng) #pyautogui.moveTo(100, 100,2) pyautogui.moveTo(x=100, y=100,duration=2, tween=pyautogui.linear) #鼠標(biāo)移到屏幕中央。 pyautogui.moveTo(screenWidth / 2, screenHeight / 2) # 鼠標(biāo)左擊一次 #pyautogui.click() # x # y # clicks 點(diǎn)擊次數(shù) # interval點(diǎn)擊之間的間隔 # button 'left', 'middle', 'right' 對應(yīng)鼠標(biāo) 左 中 右或者取值(1, 2, or 3) # tween 漸變函數(shù) # pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear) # 鼠標(biāo)相對移動(dòng) ,向下移動(dòng) #pyautogui.moveRel(None, 10) pyautogui.moveRel(xOffset=None, yOffset=10,duration=0.0, tween=pyautogui.linear) # 鼠標(biāo)當(dāng)前位置0間隔雙擊 #pyautogui.doubleClick() pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear) # 鼠標(biāo)當(dāng)前位置3擊 #pyautogui.tripleClick() pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear) #右擊 pyautogui.rightClick() #中擊 pyautogui.middleClick() # 用緩動(dòng)/漸變函數(shù)讓鼠標(biāo)2秒后移動(dòng)到(500,500)位置 # use tweening/easing function to move mouse over 2 seconds. pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad) #鼠標(biāo)拖拽 pyautogui.dragTo(x=427, y=535, duration=3,button='left') #鼠標(biāo)相對拖拽 pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False) #鼠標(biāo)移動(dòng)到x=1796, y=778位置按下 pyautogui.mouseDown(x=1796, y=778, button='left') #鼠標(biāo)移動(dòng)到x=2745, y=778位置松開(與mouseDown組合使用選中) pyautogui.mouseUp(x=2745, y=778, button='left',duration=5) #鼠標(biāo)當(dāng)前位置滾輪滾動(dòng) pyautogui.scroll() #鼠標(biāo)水平滾動(dòng)(Linux) pyautogui.hscroll() #鼠標(biāo)左右滾動(dòng)(Linux) pyautogui.vscroll()
Python獲取鼠標(biāo)實(shí)時(shí)位置具體實(shí)現(xiàn)
import time
import pyautogui as pag
try:
while True:
#獲取屏幕分辨率
screenWidth, screenHeight = pag.size()
#獲取鼠標(biāo)位置
x, y = pag.position()
#打印分辨率和鼠標(biāo)位置
print("Screen size: (%s %s), Position : (%s, %s)\n" % (screenWidth, screenHeight, x, y))
#間隔一秒顯示位置
time.sleep(1)
except KeyboardInterrupt:
print('end')
結(jié)果展示
屏幕的分辨率1920×1080,間隔1s移動(dòng)鼠標(biāo)后的結(jié)果:

總結(jié)
到此這篇關(guān)于如何利用Python獲取鼠標(biāo)實(shí)時(shí)位置的文章就介紹到這了,更多相關(guān)Python獲取鼠標(biāo)實(shí)時(shí)位置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Pytorch dataloader時(shí)報(bào)錯(cuò)每個(gè)tensor維度不一樣的問題
這篇文章主要介紹了解決Pytorch dataloader時(shí)報(bào)錯(cuò)每個(gè)tensor維度不一樣的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
python爬蟲實(shí)現(xiàn)最新12306搶票
這篇文章主要介紹了python爬蟲實(shí)現(xiàn)最新12306搶票,每到放假過節(jié)的時(shí)候,很多人總是對于搶不到車票而煩惱,那么經(jīng)過我?guī)讉€(gè)小時(shí)的不懈努力,完成了基于python?的12306搶票爬蟲,現(xiàn)在分享給大家。希望對大家有所幫助2022-01-01
Python面向?qū)ο蟮某绦蛟O(shè)計(jì)詳情
這篇文章主要介紹了Python面向?qū)ο蟮某绦蛟O(shè)計(jì)詳情,面向?qū)ο蟮某绦蛟O(shè)計(jì)在Python中具有非常重要的地位,熟練的使用面向?qū)ο缶幊棠軌驗(yàn)槲覀兊腜ython編程提供很多的便利之處,希望您閱讀完本文后能夠有所收獲2022-01-01
Python特性之列表推導(dǎo)式和生成器表達(dá)式詳解
這篇文章主要介紹了python語言的兩個(gè)非常有用的特性:列表推導(dǎo)式和生成器表達(dá)式,但是它們之間也有一些重要的區(qū)別,我們一起來看看吧2023-08-08
Python優(yōu)化技巧之利用ctypes提高執(zhí)行速度
ctypes是Python的一個(gè)外部庫,提供和C語言兼容的數(shù)據(jù)類型,可以很方便地調(diào)用C DLL中的函數(shù)。今天我們就來詳細(xì)探討下ctypes庫的使用技巧2016-09-09

