python通過圖片對比 控制酷我音樂下載歌曲

# -*- coding:utf-8 -*-
import time
import win32gui
import win32ui
import win32api
import win32con

import pyautogui
import pyperclip

from pykeyboard import *
from pymouse import *

import os
from PIL import Image
from PIL import ImageGrab

import cv2
import aircv as ac
import numpy

#kwmusicmaindlg
def FindKWmuaic():	
	lpClassName="kwmusicmaindlg"
	lpWindowName=None
	hwnd=win32gui.FindWindow(lpClassName, lpWindowName)
	print(hwnd)
	return hwnd

#刪除原有歌曲名稱
def DelMusicName():
	win32api.SetCursorPos([310, 25])
	x,y=310,25
	for i in range(0,8):
		win32api.SetCursorPos([x+2*i, 25])
		time.sleep(0.3)
		#模擬點擊
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
		#刪除  清空字符串  鍵位碼錶 8:爲backspace鍵
		win32api.keybd_event(8,0,0,0)
		win32api.keybd_event(46,0,0,0)

#搜索歌曲
def FindMUSIC(str):
	print("搜索歌曲:"+str)
	pyperclip.copy(str)  # 先複製
	pyautogui.hotkey('ctrl', 'v')  # 再粘貼
	win32api.keybd_event(13,0,0,0)

def FindPOS():
	win32api.SetCursorPos([10, 10])
	time.sleep(0.3)
	win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
	win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

def captureIMG():
	# Fhwnd=FindKWmuaic()
	# rect = win32gui.GetWindowRect(Fhwnd);
	img = ImageGrab.grab((0, 0, 1000, 1000))
	img.save("capture"+".jpg")
	img.close()
	time.sleep(5)
	print("截屏完畢等待5秒")
	#img.show()

def FindDownP():
	imsrc = ac.imread('capture.jpg')
	imobj = ac.imread('download1.png')
	all_pos = ac.find_all_template(imsrc, imobj)
	print(all_pos)
	print("==========================")
	for i in range(0,2):
		print("不同下載按鈕位置****************")
		print(all_pos[i]['result'])
		x,y=all_pos[i]['result']
		m=int(x)
		n=int(y)
		win32api.SetCursorPos([m,n])
		time.sleep(2)
		print("設置位置"+str(i))
		print("點擊下載按鈕")
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
		print("開始第二次對比")
		imgTwo = pyautogui.screenshot()
		imgTwo.save(r'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\pic_pyautogui.jpg')
		imgTwo.close()
		time.sleep(1)
		imgTwo = pyautogui.screenshot()
		imgTwo.save(r'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\pic_pyautogui.jpg')
		imgTwo.close()
		time.sleep(3)
		imsrc = ac.imread('pic_pyautogui.jpg')
		imobj2 = ac.imread('down.png')
		pos2 = ac.find_template(imsrc, imobj2)
		print("################################################")
		print(pos2)
		print("################################################")		
		x2,y2=pos2['result']
		w=int(x2)
		z=int(y2)
		pyautogui.moveTo(w,z)
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
		print("pyautogui.moveTo")
		time.sleep(2)
		win32api.SetCursorPos([w+2,z+3])
		time.sleep(1)
		win32api.SetCursorPos([w+2,z+3])
		print("點擊下載到電腦")
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
		win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
		time.sleep(1)
		# xx=int(POSx)
		# yy=int(POSy)
		# win32api.SetCursorPos([xx,yy])
		# time.sleep(1)
		# print("位置設定"+DownLoadP['result'])

	# for m in range(0,6):
	# 	print(m)
	# 	print(pos[m]['result'])
    # for i in range(0,6):
    # 	print(pos[i]['result'])
    # 	time.sleep(1)
    # 	win32api.SetCursorPos(pos[i]['result'])



if __name__ == "__main__":
	Fhwnd=FindKWmuaic()
	print(Fhwnd)
	#獲取窗口座標位置
	rect = win32gui.GetWindowRect(Fhwnd);
	print(rect)
	#窗口置頂 設置窗口位置
	win32gui.SetWindowPos(Fhwnd,win32con.HWND_TOPMOST,0,0,0,0,win32con.SWP_NOSIZE);
	#移動鼠標到搜索窗口
	print("移動鼠標到XY位置")
	win32api.SetCursorPos([310, 25])
	print("刪除原有字符")
	DelMusicName()
	FindMUSIC("曾經心疼")
	print("download music")
	FindPOS()
	print("等待5秒,網絡下載歌曲")
	time.sleep(5)
	print("截屏")
	captureIMG()
	print("下載按鈕查找。")
	FindDownP()

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章