파이썬

파이썬 pyautogui 자주쓰는 이미지 서치 def 지정하기

by nanumi posted Feb 12, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 pyautogui 자주쓰는 이미지 서치 def 지정하기


 

 
#https://goodthings4me.tistory.com/491
import pyautogui
import pywinauto
import pyperclip
import time
import cv2 #open-cv2-python
 
#---
 
#캡쳐한 이미지가 화면에 여러개 일때 n번째
#원하는 이미지의 위치들을 리스트에 저장해놓고 for문으로 하나씩 꺼내어 쓰는 개념
def m_imgs(fname):
    for i in pyautogui.locateAllOnScreen(fname):
        pyautogui.click(i, duration=0.25)
        print(i)
 
#동일한 이미지 중 n번째 이미지 클릭
def m_img(fname,cntnum):
    cnt=0
    for i in pyautogui.locateAllOnScreen(fname):
        if cnt is cntnum:
            pyautogui.click(i, duration=0.25)
            print(i)
        cnt=cnt+1

#범위 안에서만 캡처한 이미지를 찾고 싶을 때
def m_imgs(fname,x1,y1,x2,y2):
    img_capture = pyautogui.locateOnScreen(fname, region=(x1,y1,x2,y2))
    pyautogui.moveTo(img_capture)
    start = time.time()  # 시작 시간 저장
    print("코드 실행 시간 :", time.time() - start) # 현재시각 - 시작시각 = 실행 시간
 
# 동일 형상 중에 특정번째만 동작하기
def Dupclick(num,fname):
    for idx, i in enumerate(pyautogui.locateAllOnScreen(fname), start=1):
        if idx == num: # num번쨰 등장하는 형상에만 동작 *참고 : start=1
            pyautogui.click(i)
 
#검색된 이미지의 x,y좌표를 구해서 img_p 변수로 리턴합니다.
def imgif(url):
    img_p = pyautogui.locateOnScreen(url)
    print('이미지 xy좌표:',img_p)
    return img_p
 
#검색된 이미지를 클릭합니다.
def imgclick(url):
    img_xy = pyautogui.locateOnScreen(url)
    time.sleep(random.randrange(1,3))
    pyautogui.click(img_xy)
    print('이미지 클릭:',img_xy)
   
#검색된 이미지를 xy좌표를 클릭합니다.
def xyclick(url):
    img_xy = pyautogui.locateOnScreen(url)
    time.sleep(random.randrange(1,3))
    pyautogui.moveTo(img_xy)
    time.sleep(random.randrange(1,3))
    pyautogui.click()
    print('xy좌표 클릭:',img_xy)    
    pyautogui.moveTo(100, 200) # x 100, y 200 위치로 바로 이동
 
#상하좌우 범위를 지정한 파일이름으로 저장합니다.
def imgshot(fname,x1,y1,x2,y2):
    img_sc = pyautogui.screenshot(fname, region=(x1,y1,x2,y2))
    time.sleep(random.randrange(1,3))
#---
 
windows = pyautogui.getAllWindows()
 
for window in windows:
    print(window)
   
noactive = pyautogui.getWindowsWithTitle('농업교육포털 - Chrome')[0]
if noactive.isActive == False:
    noactive.activate()
   
#https://agriedu.net/page/client_study_ing#appPage_study_status_ing_online
 
# 아래방향키 9번 누른다.
 
fname="C:/Python/py_code/automouse/img/nongsa/test-0.png"
m_img(fname,1)



 

 


Articles

1 2 3 4 5