728x90
버거킹 설문조사 외 KFC에서도 영수증을 보면 설문조사 후 무료 세트 업그레이드가 있습니다.
지난번 버거킹 설문조사 자동화에 이어 KFC도 동일하게 자동화하여 편리하게 사용할 수 있게 코드로 작성하였습니다.
버거킹 설문조사 자동화: https://autoshovel.tistory.com/6
설문조사 코드에 영수증에 적혀있는 설문조사 번호로 입력하여 코드를 작성합니다. (- 제외하고 숫자만 입력)
KFC 설문조사 페이지 진입하면 하단 안내 토스트가 노출되는데 이것 때문에 계속 버튼이 눌리지 않아서 토스틑 닫은 후 다음 페이지로 이동할 수 있게 구현하였습니다.
driver.find_element(By.ID, 'InputCouponNum').send_keys('설문조사 코드')
driver.find_element(By.CLASS_NAME, 'toast-close-button').click()
driver.find_element(By.ID, 'NextButton').click()
3번째 체크 화면에서는 유형에 따라 체크할 수 있는 항목이 5개이거나 6개인 경우가 있습니다.
둘 중 어느 화면이 나와도 에러 없이 넘어갈 수 있도록 element 개수를 얻은 후 if문을 사용해 6개인 경우에만 클릭할 수 있도록 구현하였습니다.
#3번째 체크 화면
count = len(driver.find_elements(By.CLASS_NAME, 'radioSimpleInput'))
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[0].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[5].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[10].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[15].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[20].click()
if count == 30:
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[25].click()
driver.find_element(By.ID, 'NextButton').click()
중간에 추가 설문조사를 하지 않아도 스마트 코드를 얻을 수 있기 때문에 추가 설문조사를 하지 않고 완료하여 얻은 스마트 코드를 콘솔창에서 확인할 수 있도록 구현하였습니다.
(실제로는 숫자 5자가 노출됩니다.)
전체 코드입니다. 설문조사 번호만 입력하면 20초 내외로 자동화한 코드로 인해 빠르게 스마트 코드를 얻을 수 있습니다.
KFC도 편리하게 얻은 스마트 코드로 징거버거 / 타워버거 무료 업그레이드 해먹어요!!
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get('http://www.kfckoreasurvey.com')
#설문조사 번호 입력 화면
driver.find_element(By.ID, 'InputCouponNum').send_keys('설문조사 코드')
driver.find_element(By.CLASS_NAME, 'toast-close-button').click()
driver.find_element(By.ID, 'NextButton').click()
#1번째 체크 화면
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[1].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[3].click()
driver.find_element(By.ID, 'NextButton').click()
#2번째 체크 화면
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[0].click()
driver.find_element(By.ID, 'NextButton').click()
#3번째 체크 화면
count = len(driver.find_elements(By.CLASS_NAME, 'radioSimpleInput'))
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[0].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[5].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[10].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[15].click()
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[20].click()
if count == 30:
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[25].click()
driver.find_element(By.ID, 'NextButton').click()
#4번째 체크 화면
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[1].click()
driver.find_element(By.ID, 'NextButton').click()
#5번째 주관식 입력 화면
driver.find_element(By.ID, 'NextButton').click()
#6번째 체크 화면
driver.find_elements(By.CLASS_NAME, 'radioSimpleInput')[1].click()
driver.find_element(By.ID, 'NextButton').click()
#스마트 코드 콘솔 결과로 노출
print(driver.find_element(By.CLASS_NAME, 'ValCode').text)
728x90
'자동화 > Selenium' 카테고리의 다른 글
네이버부동산 특정날짜 주요뉴스 목록 추출하기 (0) | 2022.12.20 |
---|---|
네이버 뉴스 기사 모든 댓글 자동화로 추출하여 엑셀로 저장하기 (0) | 2022.12.12 |
핫딜게시판 목록 리스트 자동화하여 추출 (0) | 2022.11.08 |
과거 1달 국내주식 시가총액 순위 자동화로 추출하기 (0) | 2022.11.06 |
웹 크롤링으로 iOS 앱스토어 리뷰 Excel에 저장하기 (With Python) (0) | 2022.11.01 |