이제 데이터 공부 안하는 블로그

[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 27회차 미션 본문

파이썬

[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 27회차 미션

공사노비 2020. 11. 28. 16:17

 


27일차

오늘은 이어서 셀리니움을 공부했습니다.

오늘은 주말이라 놀고 싶은데 후딱 수업을 끝내고
놀아보도록 하겠습니다.

딴 이야기지만, 파이썬 웹 개발 수업 한 달 과정이 거의 끝나갑니다. 요즘은 스크래핑 수업을 들으면서 초반에 배웠던 파이썬 문법을 다시 복습하고 있는데 사실 한 번 수업 듣고 문제 몇 번 풀고 그 이후에 다 잊어버려서 (거의) 새로 공부하는 것 같지만 그래도 여러번 봐서 그런지 확실히 전보다는 익숙해진 느낌입니다.

오늘은 셀레니움을 통해서 네이버 브라우저에서
알아서 로그인 하는 것을 학습했습니다.

from selenium import webdriver

browser = webdriver.Chrome()

# 1. 네이버로 이동
broeser.get("http://naver.com")

# 2. 로그인 버튼 클릭
elem = browser.find_element_by_class_name("link_login")

elem.click()

# 3. id, pw 입력
browser.find_element_by_id("id").send_keys("naver_id")
browser.find_element_by_id("pw").send_keys("password")

우선 아이디와 패스워드 자리에는 아무 값이나 넣어놓았기 때문에 로그인은 되지 않도록 만들었습니다.

# 4. 로그인 버튼 입력
browser.find_element_by_id("log.login").click()

여기까지 코드를 입력하고 실행을 해보면 아이디와 패스워드가 맞지 않기 때문에 로그인에 실패합니다.

아이디를 다시 입력하여 로그인을 재시도해볼건데
로그인에 실패하고 바로 재로그인을 시도하면 보안코드를 입력하라고 뜨기 때문에 시간 간격을 주기 위해서

import time
from selenium import webdriver
윗 줄에 import time을 적어주고

다시 내려와서 아래와 같이 적어줍니다.
그러면 3초간의 간격을 두고 다음 줄을 실행시킵니다.
time.sleep(3)

# 5. id 를 새로 입력

browser.find_elemeny_by_id("id").clear()
browser.find_elemeny_by_id("pw").clear()
아이디를 새로 입력하기 전에 기존에 입력한 정보(#3의 아이디, 비번값)을 지우기 위해서 위와 같이 입력해줍니다.

browser.find_element_by_id("id").send_keys("이곳에 자신의 네이버 아이디를 적어줍니다")
browser.find_element_by_id("pw").send_keys("이곳에 자신의 네이버 비번을 적어줍니다 ")

그리고 본인의 아이디와 비번 값을 잘 넣어서 실행을 하면 정상적으로 로그인이 잘 될 것입니다. 신기신기

# 6. html 정보 출력
print(browser.page_source)

html 정보를 가져오기 위해 위의 값을 입력해줍니다.
그러면 지금 페이지에 있는 html정보를 모두 출력을 해줍니다.

# 7. 브라우저 종료
browser.quit()

브라우저를 종료해줍니다.

셀레니움은 실습은 재밌네요. 짧고 굵게 학습을 마치고 이제 놀러가보도록 하겠습니다.🐎












강의소개 https://bit.ly/33a7nvc