[사전스터디] 저가 비행기 티켓 구하기 - 3(진행중)

hyuckhoon.ko·2020년 5월 6일
0

What I learned in wecode

목록 보기
14/109

selenium 을 이용한 웹 페이지에 데이터 입력/클릭 등을 진행하고 있다.

'제주항공'홈페이지만 진행하고 있다.
(아직 끝내지 못했다......)

홈페이지에 들어가면
1) default로 '왕복'이 체크되어 있다. 이걸 '편도'로 바꿔야 하고,
2) 출발지는 input이 '서울'이면 '김포(GMP)'로, 도착지는 자동으로 제주로 입력 시켜야 한다.

아직 미해결 된 것은 날짜 지정이다. selenuim 모듈의 메소드를 아직 잘 활용하고 있지 못하고 있다. Beautiful Soup 모듈을 사용할때와는 달리 라이브러리에 관한 공식 문서가 정리되어 있지 않다. 그래서 시간이 조금 걸리고 있다.

오늘 코드를 작성하며 기억에 남는 부분은

self.driver = webdriver.Chrome(
                '/Users/khh18/Downloads/chromedriver_win32/chromedriver.exe')

여기서 맨 마지막 파일명 chromedriver.exe 의 확장자(exe)를 빼먹어서
계속 작동이 되지 않았다. 즉, chromedriver로만 작성했는데, run이 되지 않아서 애를 많이 먹었다ㅎㅎㅎㅎ



# 2. '편도' 클릭  (원래는 '왕복'으로 default 되어 있음)
            self.driver.find_element_by_xpath(
                '//input[@id="btnTripSingle"]').click()

            # 3. 출발지, 도착지 자동입력
            if bot.from_where == '서울':
                # 1) '출발지 선택' 클릭
                self.driver.find_element_by_xpath(
                    '//button[@id="btnDepStn1"]').click()
                # 2) '서울(김포)' 클릭
                self.driver.find_element_by_xpath(
                    '//button[@aircode="GMP"]').click()
                # 3) 자동으로 도착지 선택 화면 뜸. 이때 '제주' 클릭
                self.driver.find_element_by_xpath(
                    '//button[@aircode="CJU"]').click()

크롬 드라이버를 통해 (마우스를 움직이지 않았음에도)
'왕복'→'편도'로 바꿔주고, 출발지를 '서울(김포)'로 클릭, 도착지는 '제주'로 자동 변환되는 모습을 보니 신기했다.

                           - One step at a time - 

0개의 댓글