본문 바로가기
programming language/Autohotkey

Autohotkey Rufaydium 을 사용한 브라우저 자동화

by __observer__ 2022. 8. 26.
반응형

요즘은 정말 다양한 언어를 사용하여 웹 브라우저 자동화를 하는 것이 일반화가 된 것 같습니다.

과거에는 Autohotkey 에서 COM(Component Object Model) 을 사용하여 인터넷 익스플로러를 자동화 했었는데~ 인터넷 익스플로러 사용이 종료되면서 어떻게 Autohotkey 를 사용하여 브라우저를 자동화 할지를 모르겠더군요.

그래서 찾아보니 요즘에는 조금 더 다양한 시도들이 이루어지고 있는 것 같습니다. 아래 유튜브에서 Rufaydium 이라는 Autohotkey 라이브러리를 사용하여 브라우저를 자동화 할 수 있다는 것을 알게 되었습니다.

Rufaydium

https://www.youtube.com/watch?v=W-_fTuP5Iwk

Rufaydium 라이브러리의 깃허브 주소는 아래와 같습니다.

https://github.com/Xeo786/Rufaydium-Webdriver

라이브러리가 어떤 방식으로 구동 되는지는 자세히는 모르겠지만 Webdriver 를 사용한다고 써져 있더군요.

위 라이브러리 주소에도 설명이 돼 있지만 Rufaydium 라이브러러의 세션이 생성될때 해당 브라우저의 Webdriver 가 자동으로 다운로드 되는 것을 확인할 수 있었습니다. 저는 예제에 나와 있는대로 Chrome 을 사용해 봤고 chromedriver.exe 가 자동으로 다운로드 된 것을 확인 할 수 있었습니다.

과거에 Python 에서 selenium 을 처음 사용할때는 브라우저에 맞는 Webdriver 를 찾아서 일일이 설치 해 줬던 기억이 있는데 Webdriver 가 자동으로 설치가 되니까 편리한거 같네요. 최근 Python 에서는 chromedriver_autoinstaller 모듈이 있어서 크롬 업데이트에 맞게 자동으로 Webdriver다운로드 받을 수 있습니다.

위 홈페이지에서 아래 링크의 코드를 확인해 보시면 기초적인 사용방법을 확인하실 수가 있고~~

https://github.com/Xeo786/Rufaydium-Webdriver#how-to-use

그 아래를 보시면 매뉴얼이 잘 작성된 것을 확인할 수가 있었습니다.

사실 대부분의 브라우저 자동화 또는 크롤링이라는 것들이 특정 링크를 찾아서 클릭하고 데이터를 가져오는 과정의 반복이라고 볼 수 있습니다.

따라서 첫 번째로 브라우저 자동화를 하기 위해서는 HTML 페이지의 ID, Class 와 같은 Element 등을 찾을 수 있어야 합니다. 해당 내용에 대해서는 아래의 주소를 보시면 알 수가 있을 겁니다. 다른 프로그래밍 언어에서 브라우저 자동화를 해 보신 분들이라면 아래 매뉴얼을 보시면 바로 이해가 되실 것 같네요.

https://github.com/Xeo786/Rufaydium-Webdriver#accessing-element--elements

이렇게 element 를 찾았다면 마우스를 움직이거나 클릭, 더블클릭 등을 하게 될 테고 이런 내용에 대해서는 아래 내용을 확인하시면 됩니다.

https://github.com/Xeo786/Rufaydium-Webdriver#session-inputs-events

Autohotkey 를 좋아하시는 분들이라면 JoeGlines 님의 유투브를 많이들 보셨을텐데~

JoeGlines 유투브 동영상의 재생 목록을 가져오는 예제 코드를 한번 작성해 봤습니다.

 

 

위 코드를 실행시키고 단축키 F1 을 누르면 JoeGlines 의 유튜브 페이지가 뜨면서 동영상 목록들이 아래와 같이 나오는 것을 확인 할 수 있습니다.

Autohotkey Rufaydium 라이브러리는 아직까지 많이 사용을 안 해 봐서 평가를 내릴 수는 없겠지만 제가 필요한 정도는 충분히 만족을 시켜 주는 거 같습니다.

Autohotkey를 사용한 브라우저 자동화에 대하여 관심있는 분들은 많이들 사용해 보시기 바랍니다.

오늘도 너무 좋은 라이브러리를 알게 돼서 매우 기분이 좋네요.

반응형

댓글