티스토리 뷰

반응형

 

모든 강의 자료 : www.codingnow.co.kr/

 

코딩나우

프로그래밍 교육및 개발의뢰 받습니다.

www.codingnow.co.kr

 

https://youtu.be/AwRH_cDrQc4?si=RHjGPzEQX3eZe3mM

 

 

 

 

 

 

사무자동화 프로젝트 두번째입니다.

이전 강의와 동일하게 pyautogui를 사용하구요.

 

1.윈도우 검색창을 자동 실행하고

2.'chrome'을 입력하여 웹브라우저를 실행합니다.

 

3.그리고 url을 입력하여 웹페이지를 이동하고

4.웹페이지의 버튼 이미지의 좌표를 찾아 클릭하여 이동및 웹페이지 스크롤을 합니다.

 

사무자동화 프로그래밍을 실습할 수 있고 반복문과 조건문등을 사용한 프로그래밍 구조를 익힐 수 있습니다.

 

다음과 같은 함수를 사용합니다.

pyautogui.hotkey

pyautogui.typewrite

pyautogui.scroll

pyautogui.locateCenterOnScreen

pyautogui.doubleClick

 

자세한 사항은 동영상을 참고해주세요.

 

[강의에 사용된 이미지]

 

test1.png
0.00MB
test2.png
0.00MB
test3.png
0.03MB

[강의 소스코드]

import pyautogui
import time

# print(time.time())
filename = ['test1.png', 'test2.png', 'test3.png']

timePre = time.time()
timeElapsed = 0
timeElapsedPre = 0

while True:
    timeElapsed = int(time.time() - timePre)
    if timeElapsed > 3:
        print('3초')
        pyautogui.hotkey('win','q')
        pyautogui.typewrite('chrome',interval=0.1)
        pyautogui.typewrite(['enter'])
        time.sleep(1)
        pyautogui.typewrite('www.codingnow.co.kr',interval=0.1)
        pyautogui.typewrite(['enter'])
        time.sleep(3)

        isSuccess = True
        for i, name in enumerate(filename):
            poi = pyautogui.locateCenterOnScreen(name, confidence=0.6)
            print(name, poi)
            if poi != None:      
                pyautogui.doubleClick(poi, duration=0.5)
                time.sleep(3)
                if i==1:
                    pyautogui.scroll(-1200)
                    time.sleep(3)
            else:
                isSuccess = False
        if isSuccess:
            break
        else:
            pyautogui.hotkey('alt', 'f4')
        timePre = time.time()
    else:
        if(timeElapsed != timeElapsedPre):
            print(timeElapsed)
            timeElapsedPre = timeElapsed

[일부 수정코드]

 

import pyautogui
import time

filename = ["test1.png", "test2.png", "test3.png"]
count = 0
timePre = time.time()
timeElapsedPre = 0
while count < 1:
    timeElapsed = int(time.time() - timePre)
    if timeElapsed >= 3:
        print(timeElapsed, '초')
        pyautogui.hotkey('win','q')
        pyautogui.typewrite('chrome',interval=0.1)
        pyautogui.typewrite(['enter'])
        time.sleep(1)
        pyautogui.typewrite('www.codingnow.co.kr', interval=0.1)
        pyautogui.typewrite(['enter'])
        time.sleep(3)
        isSuccess = True
        for i,fname in enumerate(filename):
            poi = pyautogui.locateCenterOnScreen(fname, confidence=0.8)
            print(fname, poi)
            if poi != None:                    
                pyautogui.doubleClick(poi, duration=0.5)            
                time.sleep(3)
                if i == 1:
                    pyautogui.scroll(-1200)
                    time.sleep(3)
                if i == 2:
                    time.sleep(5)
            else:
                isSuccess = False
                break
        if isSuccess:
            count += 1
        pyautogui.hotkey('alt', 'f4')
        print('크롬을 종료합니다.')
        timePre = time.time()
    else:
        if timeElapsed != timeElapsedPre:
            print(timeElapsed,'초')
            timeElapsedPre = timeElapsed
반응형