Python有一個(gè)內(nèi)置的庫(kù) matplotlib,它提供了圖形界面(GUI)的功能,允許用戶直接在圖形上點(diǎn)擊并獲取鼠標(biāo)位置。
10多年的南充網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整南充建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“南充網(wǎng)站設(shè)計(jì)”,“南充網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
下面是一個(gè)簡(jiǎn)單的例子,展示了如何使用 matplotlib 庫(kù)獲取鼠標(biāo)點(diǎn)擊事件并返回三維坐標(biāo):
Copy code# 首先,導(dǎo)入 matplotlib 庫(kù)import matplotlib.pyplot as plt# 定義圖像窗口fig = plt.figure()# 獲取當(dāng)前坐標(biāo)系ax = fig.add_subplot(111, projection='3d')# 在圖像窗口中添加事件監(jiān)聽器,用于監(jiān)聽鼠標(biāo)點(diǎn)擊事件def onclick(event): # 獲取鼠標(biāo)點(diǎn)擊時(shí)的坐標(biāo)
x, y, z = event.xdata, event.ydata, event.zdata print('x={}, y={}, z={}'.format(x, y, z))# 將事件監(jiān)聽器綁定到當(dāng)前坐標(biāo)系cid = fig.canvas.mpl_connect('button_press_event', onclick)# 顯示圖像窗口plt.show()
如果你運(yùn)行上面的代碼,它會(huì)打開一個(gè)三維坐標(biāo)系的圖形窗口,當(dāng)你在圖形窗口中點(diǎn)擊時(shí),會(huì)在控制臺(tái)中輸出鼠標(biāo)點(diǎn)擊的三維坐標(biāo)。
注意:如果你沒有安裝 matplotlib 庫(kù),可以使用 'pip install matplotlib
right被定義成常量autopy.mouse.toggle(button=autopy.mouse.Button.RIGHT,down=True)或者
autopy.mouse.toggle(autopy.mouse.Button.RIGHT,True)即可
PyAutoGUI模塊通過(guò)屏幕xy坐標(biāo)系統(tǒng)確定目標(biāo)位置,控制鼠標(biāo)和鍵盤發(fā)送虛擬擊鍵和鼠標(biāo)點(diǎn)擊,完成點(diǎn)擊按鈕、填寫表單等操作
pyautogui的鼠標(biāo)函數(shù)使用x,y坐標(biāo),原點(diǎn)在屏幕左上角,向右x坐標(biāo)增加,向下y坐標(biāo)增加,所有坐標(biāo)都是正整數(shù),沒有負(fù)數(shù)坐標(biāo)。
使用pip安裝
python源碼
import time,os
import pyautogui as pag
try:
while True:
print('點(diǎn)擊 Ctrl-C 結(jié)束')
# 獲取屏幕的尺寸
screenWidth, screenHeight = pag.size()
x, y = pag.position()
#返回鼠標(biāo)的坐標(biāo)
print('屏幕尺寸: (%s %s), 鼠標(biāo)坐標(biāo) : (%s, %s)' % (screenWidth, screenHeight, x, y))
# 每個(gè)1s中打印一次 , 并執(zhí)行清屏
time.sleep(1)
# 執(zhí)行系統(tǒng)清屏指令
os.system('cls')
except KeyboardInterrupt:
print('結(jié)束')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
執(zhí)行結(jié)果
運(yùn)行結(jié)果
腳本思路大概如下:第一步獲取整個(gè)屏幕尺寸,第二步獲取鼠標(biāo)坐標(biāo),打印輸出即可,整個(gè)獲取過(guò)程在死循環(huán)中,即可實(shí)現(xiàn)時(shí)刻獲取屏幕坐標(biāo)的需求。
一、安裝pyautogui
pip install pyautogui
二、調(diào)用
import time
import random
import pyautogui
三、自動(dòng)控制鼠標(biāo)
while 1:
# 15秒鐘移動(dòng)一次鼠標(biāo)(移動(dòng)鼠標(biāo)時(shí)間可以根據(jù)自己需要設(shè)定)
time.sleep(15)
pyautogui.moveTo(x=5100,y=random.randint(1500,1600))
################################移動(dòng)鼠標(biāo)
####pyautogui.moveTo()函數(shù)將鼠標(biāo)立即移動(dòng)到屏幕的指定位置:x,y為坐標(biāo),duration指定所需秒數(shù)
import pyautogui
for i in range(10):
? ? pyautogui.moveTo(5100,1600,duration=5.25)
? ? pyautogui.moveTo(200,100,duration=5.25)
? ? pyautogui.moveTo(200,200,duration=5.25)
? ? pyautogui.moveTo(100,200,duration=5.25)
####pyautogui.moveRel()函數(shù)相對(duì)于當(dāng)前的位置移動(dòng)鼠標(biāo)
import pyautogui
for i in range(10):
? ? pyautogui.moveRel(100,0,duration=0.25)
? ? pyautogui.moveRel(0,100,duration=0.25)
? ? pyautogui.moveRel(-100,0,duration=0.25)
? ? pyautogui.moveRel(0,-100,duration=0.25)
####pyautogui.position()函數(shù)確定鼠標(biāo)當(dāng)前的位置
pyautogui.position()