我們需要pyautogui模塊,pyautogui是一個純Python的GUI自動化工具,通過它可以讓程序自動控制鼠標和鍵盤。
1、安裝
pip3 install pyautogui
安裝後就可以使用了
2、如何在屏幕上找到朋友圈的圖標
先將朋友圈圖標截圖,命名為(朋友圈.png),pyautogui使用函數在屏幕上去進行匹配,直到找到一個圖標跟我們目標圖標一樣,就得到了結果。
# 圖像識別(一個)
oneicon = pyautogui.locateOnScreen('朋友圈.png')
識別一個圖標的結果
識別兩個點
# 圖像識別(多個)
multicon = pyautogui.locateAllOnScreen('兩個點.png')
兩個點識別後返回類似下面的結果(一個列表 ):
[Box(left=985, top=344, width=79, height=49), Box(left=985, top=1322, width=79, height=49)]
這就是“兩個點”(截屏上是兩個)在桌面的位置,如果找不到圖片,就會返回 None。
找到圖片的位置單擊,就ok了。
pyautogui.click(位置)
3、程序
import pyautogui
import time
top = 0 # 屏幕向上滾動的值,可以根據自己屏幕調整
covertop = 500 # 朋友圈封面高度
delay = 0.01
# 尋找各種圖片
def findimge(image):
time.sleep(delay) # 延時
if pyautogui.locateOnScreen(image):
left, top, width, height = pyautogui.locateOnScreen(image)
point = pyautogui.center((left, top, width, height))
pyautogui.click(point)
# 找到兩點的位置 滾動一個top值
def findtwopoint():
global top
time.sleep(delay)
if pyautogui.locateOnScreen('兩個點.png'):
left, top, width, height = pyautogui.locateOnScreen('兩個點.png')
point = pyautogui.center((left, top, width, height))
pyautogui.click(point)
def scrool():
global top
global covertop
time.sleep(delay)
if covertop == 0:
pyautogui.scroll(int(-top / 2)) # 滾動鼠標滾輪
else:
pyautogui.scroll(-top + covertop)
covertop = 0
if __name__ == "__main__":
findimge('朋友圈.png')
while True:
findtwopoint()
findimge('贊.png')
scrool()
4、運行:
打開電腦版微信,窗口最大化
運行程序
存在的問題:點過贊的,如果在當前屏幕還會再點一次,如果能檢測已點過,直接滾過就ok了。