1. 기본 과제
w3-1-selenium.mp4네이버 접속 > 검색창에 원하는 검색어 입력 > 검색 버튼 클릭
강의 내용을 숙지하고 셀레니움 템플릿을 활용하면, GPT 도움없이 과제 해결이 가능합니다.
그래서 선택 과제를 진행해 보았습니다.
2. 선택 과제
Selenium으로 Naver 로그인
GPT에게 간단한 파이썬 스크립트를 받아서 실행해 봅니다.
아래의 문제에 직면합니다.
브라우저에서 처음 로그인 시 최초 1회 보안코드 또는 CAPTCHA
» 수동으로 입력합니다.
manual_sign_in_and_save_cookies()
셀레니움을 통한 로그인 시 매번 1번으로 회귀
보안 이슈에 대해 문의하니 몇가지 옵션을 알려줍니다.
현재 상황에서 쿠키가 유일한 방법으로 보입니다.
» 최초 수동 로그인 시 쿠키를 파일에 저장하여, 쿠키 파일 존재 유무에 따라 수동 로그인 또는 리로드합니다.
check_and_load_cookies()
쿠키가 만료된 경우 처리
위 2에서 쿠키 파일 유무로만 체크하다보니, 쿠키가 만료된 경우 로그인이 제대로 되지 않습니다.
» 쿠키 파일 유무 체크 외에 실제 로그인 상태인지 체크하는 함수를 추가합니다.
def is_logged_in():
"""웹사이트에 로그인 되어 있는지 확인합니다."""
try:
# 로그인 상태를 확인할 수 있는 요소를 검사합니 다. 예를 들어, 로그아웃 버튼의 존재 여부
driver.find_element(By.CSS_SELECTOR, "로그인_확인_요소의_선택자")
return True
except NoSuchElementException:
return False
FYI. 최종 스크립트
#9기문과생도AI