셀레니움을 이용한 업무자동화(오토핫키, 엑셀, 카카오맵)

2022. 10. 24. 15:32개발일지

728x90
반응형

오랜만의 포스팅 ㅎㅎㅎㅎㅎㅎ...

(역시 게을러)

 

지난 번 과업과 유사한 과업을 또 맡게 되어(...)

예전에는 몰라서 일일히 수작업하고 노가다 했던 것들을 오토핫키로 자동화해보고자했다.

필요한 작업을 정리하니 우선 다음과 같았다.

 

필요한 구현 내용

1. 지도상의 세부 위치 정의

2. 각 위치간의 자동차 경로탐색 → 소요 시간 및 거리 값 엑셀 정리

3. 좌표화된 세부 위치를 카카오맵에 마킹

 

 

그리고 아래는 위 구현 내용을 토대로 내가 풀어낸 방법이다.

 

지도상의 세부 위치 정의

지명 검색(ex. 서울역) 으로 나오는 결과값은 너무 러프하고, 업무 특성상 더욱 디테일한 위치를 정의하는것이 필요했다.

지난번에는 W3W(What 3 Words) 를 이용해서 세부 위치를 정의했었는데,

누가봐도 확실히 정의 가능한 위,경도 값으로 정리하는 것이 더욱 깔끔할 것 같았다.

W3W 뿐만 아니라, 위경도 값도 역시 길찾기 기능이 활용 가능했기에..

찾아보니 자바스크립트 기반으로 지도의 특정위치를 클릭하면 그 위치의 좌표값을 나타내 주는 웹페이지를 찾아냈고

https://tablog.neocities.org/keywordposition.html

 

키워드로 장소 검색하고, 클릭하여 위치 좌표 정보 얻기

 

tablog.neocities.org

(역시 능력자들...)

 

키워드를 검색해서 대략의 위치를 찾고, 세부구간을 클릭하면 클릭한곳의 위경도를 아래에 표시해준다.

어......아... 이마저도 귀찮다..

언제 그 수많은 위치들을 일일히 쳐서 검색하고, 마우스로 누른다음에 또 결과값으로 나온걸 복사하고 붙여넣.....(...)

 

그래서! 엑셀에 정리된 키워드를 기반으로 반복적으로 서치해주고, 표시된 위경도값을 또 엑셀에 정리해주는 매크로를 우선적으로 만들었다. 세부적인 위치는 어쩔수없이 주관적으로 판단해줘야하는 부분이라 반자동화를 했다고 해야하나?

화질 왜이럼...

F10을 누르면, 엑셀에 있는 리스트를 순차적으로 웹에서 검색하고...

F11을 누르면 세부위치의 좌표값을 다시 엑셀에 정리해준다.


각 위치간의 자동차 경로탐색, 결과값 엑셀 정리

이제 1번과정에서 얻은 좌표값을 토대로, 각 구간끼리의 경로 탐색을 엑셀에 정리해줬다.

매크로를 실행시키면, 엑셀시트상의 좌표값을 가져다가 카카오맵에서 검색을 하고, 그때 나온 소요시간 값과 거리값을 다시 엑셀에 정리해준다.

추출된 값을 아래로 쭉 누적입력하게 하는것은 약간의 VBA 를 활용했다.

그리고 정리된 모든 리스트를 순환하게 만들면 끝!

아래는 시연 영상~

일일히 하려면... 퇴사 생각났을것 같다.


좌표화된 세부 위치를 카카오맵에 마킹

마지막 3번째 단계.

실제 현장에 가서 주행조사를 해야할텐데, 특정하기 어려운 위치를 네비게이션에 찾아서 치고 다니는 것은 매우 어렵고 지치고 힘들고 짜증나며 실수를 유발하기 딱 좋은 일이다...

따라서, 누구라도 같은 위치를 명확하게 제시해줄 수 있으면 좋을 것 같았고 카카오맵에는 지도에 마킹하는 시스템이 있어서 그걸 활용했다.

네비에 찍을때도 어느 구간에서 어느 구간으로 가는지 명확하게 알려줄 수 있다.

카카오맵 마킹은 기본적으로 개인의 카카오 아이디에서만 볼 수 있지만, 폴더를 공유하면 다른 사람들도 로그인해서 볼 수 있다! (개꿀)

마찬가지로 1단계에서 정리된 좌표값을 카카오맵에서 검색하고, 엑셀에 임의로부여한 코드값과 지명값으로 즐겨찾기를 등록하도록 했다.

(참고: 대량의 데이터를 다룰 때, 중복되지 않는 키값(코드)을 부여하는 일은 굉장히 중요하다.)

아래는 시연영상!

잘만들어둔 반복문 코딩은 데이터가 많을 때 특히 빛을 발휘한다.

 

아직 과업은 시작도 안했는데.. 일을 거의 다 마친기분이랄까 하하..

혼자 이것저것 해보는게 재밌어서 주말반납하고 작성했지만(육아나 도우라고 와이프한테 등짝맞음)

팀원들이 놀라워하는 모습을 보니 관종스러운 나는 또 행복해졌다......으엉어ㅓㅓㅓㅓㅓㅓ

 

여러분들도 자동화하세요. 회사 생활조차 즐거워집니다...

끗!!!!!!!!!

반응형