python控制鼠标_如何用python实现真实的鼠标移动?
可以嘗試用pyautogui庫
import pyautogui
pyautogui.moveTo(x, y, duration=1)
其中moveTo方法將鼠標移動到屏幕上(x, y)坐標,duration參數是移動的時間,比如duration=1就是用一秒時間移動到x, y坐標
其實pyautogui也可以實現其它很多有意思的操作,具體的可以參考官方文檔:Welcome to PyAutoGUI’s documentation!?pyautogui.readthedocs.io
希望可以幫上忙!
更新!關于如何在定位屏幕上的內容:
比如我們要實現知乎模擬點贊的效果,首先需要將點贊按鈕截圖(只能截不帶數字的那一半,因為數字會變),然后保存為bmp格式。
隨后將截圖放在與腳本同目錄下,輸入下面的代碼
import pyautogui
coo = pyautogui.locateCenterOnScreen("agree.bmp")
pyautogui.click(coo[0], coo[1])
其中locateCenterOnScreen函數查找傳入圖片在屏幕上的坐標,并返回圖片的中心坐標值。若屏幕上有多個匹配,這個函數只返回第一個找到的圖片坐標,如果沒有找到,返回None。所以為了穩妥,還應該加上if語句判斷一下。隨后利用坐標就可以實現點擊了。
當然如果需要找到屏幕上所有的目標,可以使用locateAllOnScreen函數。
import pyautogui
coos = pyautogui.locateAllOnScreen("agree.bmp")
for i in coos:
print(i)
返回值:
(242, 398, 77, 34)
(242, 839, 77, 34)
返回值前兩個是圖片左上角的xy坐標,后兩個值是圖片x和y軸長度
這樣直接全屏幕搜索效率往往會很低,但若我們知道目標對象所在屏幕的大致區域,可以先用截屏函數截取相應區域,再用區域搜索函數找到目標,代碼如下:
import pyautogui
area = pyautogui.screenshot(region=(214, 382, 1033, 649))
coo = pyautogui.locate("agree.bmp", area)
print(coo)
結果:
(28, 16, 77, 34)
解釋一下:screenshot函數支持屏幕截屏,并把截圖賦值到area上。定義了region參數后,可以實現區域截圖。region的前兩個參數是截圖區域左上角坐標,后兩個參數是區域右下角坐標。
locate函數接受兩個參數,第一個是我們需要找的目標圖片,第二個是尋找目標的范圍圖片。若找到目標,會返回目標在范圍圖片上的相對坐標,結果中的(28, 16)就是點贊按鈕在區域截圖上的坐標。
所以為了獲得目標的真實屏幕坐標,需要在x和y上分別加截圖區域左上角的坐標xy值
x, y = coo[0] + 214, coo[1] + 382
print(x, y)
結果:
242 398
總結
以上是生活随笔為你收集整理的python控制鼠标_如何用python实现真实的鼠标移动?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Minisforum 首发 AMD R7
- 下一篇: python下载文件加上日期_pytho