1.思路
通過pyautogui可以實現鼠標點擊、滾動鼠標、截屏等操作。由此功能實現打開頁面,進行點贊。
aircv可以從大圖像獲得小圖像的位置,利用pyautogui截屏得到的圖片,可以在頁面獲取到每一個👍的位置,進行點擊。
當前頁面點擊完之后,通過pyautogui滾動鼠標的功能繼續向下翻。從而實現循環。
2. 參考
pyautogui自動化控制鼠標和鍵盤操作
aircv通過大圖像獲得小圖像的位置
3. 安裝包
這里利用了清華的鏡像,不用鏡像容易下載失敗。
下載的opencv-contrib-python和opencv_python版本也要帶上。如果已經下載了不對版本,可以使用pip uninstall 刪除。
pip install aircv
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.16
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv_python==3.4.2.16
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui
4. 准備工作
需要把這個截下來圖片放在代碼的同目錄下
很多人學Python過程中會遇到各種煩惱問題解決不了。為此小編建了個Python全棧免費答疑交流.裙 : 624440745
5. 代碼
import cv2
import aircv as ac
import pyautogui
import time
import os
#獲取贊所在的位置
def mousepos(img1,img2):
imsrc = ac.imread(img1) # 原始圖像
imsch = ac.imread(img2) # 帶查找的部分
match_result=ac.find_all_template(imsrc, imsch,0.80)
#提取出中心點的橫縱坐標
points=[]
for i in match_result:
points.append((i['result']))
return points
def begin():
#截屏
time.sleep(1)
img1 = pyautogui.screenshot()
if os.path.exists('1.png'): # 如果文件存在
# 刪除文件,可使用以下兩種方法。
os.remove('1.png')
img1.save('1.png')
#由於匹配相似度不同,為了減少錯誤,把縱坐標不在點贊的那一條的刪除
pos=mousepos('1.png','test.png')
for i in pos[:]:
if i[0]!=pos[0][0]:
pos.remove(i)
print(pos)
#點擊
for i in pos:
pyautogui.moveTo(i[0], i[1])
pyautogui.click(clicks=10, interval=0.2)
time.sleep(1)
#滾動鼠標
pyautogui.scroll(-300, x=100, y=100)
#這一段僅僅是根據所在位置打開頁面,這一段可以不要,自己打開點贊頁面也行。
def openpage ():
pyautogui.click(x=1596 ,y=1063,clicks=1, interval=2)
pyautogui.click(x=1539 ,y=272,clicks=1, interval=2)
pyautogui.click(x=896, y=581,clicks=1, interval=2)
if __name__ == '__main__':
openpage();
for i in range(20): #根據自己的需要設置次數
begin()
注意:很多人學Python過程中會遇到各種煩惱問題解決不了。為此小編建了個Python全棧免費答疑交流.裙 : 624440745不懂的問題有老司機解決里面還有最新Python教程項目可拿,,一起相互監督共同進步!
本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。
