웹 브라우저에서 컴퓨터를 켰을때나 특정 일을 반복할때 유용한 자동화 테크닉이다.
코드부터 보자
우선 열려 있는 브라우저를 찾아야한다 아래는 크롬 브라우저를 찾는 함수다.
# Chrome 브라우저 창을 찾는 함수
def findChromeWindow():
try:
# xdotool 명령어 실행하여 Chrome 브라우저 창의 ID 가져오기
cmd = "xdotool search --onlyvisible --class Chrome"
chromeWindowId = os.popen(cmd).read().strip()
print('chromeWindowId', chromeWindowId)
return chromeWindowId
except Exception as e:
print(f"오류 발생: {e}")
return None
브라우저를 찾았으면 브라우저 위에서 마우스를 내가 원하는 곳으로 이동시키고 클릭하게 만든다. 물론 타이핑도 가능하다.
# Chrome 브라우저 창 위에 마우스를 올리고 클릭하는 함수
def clickOnChromeWindow():
''' subprocess보다 os.system이 더 잘먹힘 ''' #
try:
# Chrome 브라우저 창의 ID 가져오기
chromeWindowId = findChromeWindow()
if chromeWindowId:
# 마우스를 Chrome 창으로 이동
print(f'mouse move to {chromeWindowId}')
os.system(f"xdotool mousemove --window {chromeWindowId} 500 500")
time.sleep(1) # 마우스가 이동하기를 기다림
os.system("xdotool click 1")
time.sleep(1)
os.system("xdotool type --clearmodifiers thisisunsafe") # thisisunsafe 타이핑
time.sleep(1)
os.system(f"xdotool key F11") # 전체화면 만들기
else:
print("Chrome 창을 찾을 수 없습니다.")
except Exception as e:
print(f"오류 발생: {e}")
clickOnChromeWindow()
xdotool을 사용하여 컴퓨터를 내가 사용하는것 처럼 제어할 수 있다. shell script로 만들수도 있지만 python과의 조합으로 더 많은 라이브러리와 쉽게 응용할 수 있어서 python과 조합해봤다.
위의 코드를 이해 했다면 응용하여 스크립트를 짜면 원하는 자동화기능을 만들 수 있을 것이다.