// 1. 페이지의 에서 최대한 위에 이 코드를 붙여넣으세요. // 아래의 메타 태그를 복사해 사이트 홈페이지의 섹션에 붙여 넣어주세요. //2. 여는 태그 바로 뒤에 코드를 붙여넣으세요.

새소식

반응형
Python/자동화

python으로 xdotool을 사용해서 크롬 브라우저를 찾아 특정 포인트를 클릭해보자

  • -
반응형

웹 브라우저에서 컴퓨터를 켰을때나 특정 일을 반복할때 유용한 자동화 테크닉이다.

 

코드부터 보자

 

우선 열려 있는 브라우저를 찾아야한다 아래는 크롬 브라우저를 찾는 함수다.

# 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과 조합해봤다. 

 

위의 코드를 이해 했다면 응용하여 스크립트를 짜면 원하는 자동화기능을 만들 수 있을 것이다. 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.