반응형
[셀레니움 기초 3-1편] 네이버 자동 로그인
파이썬, 셀레니움을 사용하여 인터넷에 원하는 정보를 자동으로 스크랩하는 방법을 소개합니다.
목차:
1. 셀레니움 패키지 설치
이 번 포스팅에서는 selenium 3.14.1 버전을 사용합니다.
- selenium 패키지 설치
pip install selenium
- 셀레니움 3.14.1 버전 설치하는 방법
2. 클립보드 패키지 설치
네이버는 로그인 시 로봇 입력 방지 'captcha' 때문에 클립보드(복사)를 거쳐 ID PW를 입력해야하므로 필요합니다.
- clipboard 패키지 설치
pip install clipboard
- pip install 방법
3. 예제
네이버 로그인
- 아래의 코드를 붙여넣고 아이디, 비밀번호를 수정합니다.
# selenium Ver : 3.14.1
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import clipboard
import time
# 웹드라이버 열기 (네이버 메인 화면)
driver = webdriver.Chrome()
driver.get("https://www.naver.com/")
# 네이버 메인화면에서 로그인 버튼 클릭
driver.find_element_by_xpath('//*[@id="account"]/a').click()
time.sleep(1) # 1초 시간 지연
# 로그인 창에 아이디/비밀번호 입력
loginID = "아이디"
clipboard.copy(loginID)
driver.find_element_by_xpath('//*[@id="id"]').send_keys(Keys.CONTROL, 'v')
loginPW = "비밀번호"
clipboard.copy(loginPW)
driver.find_element_by_xpath('//*[@id="pw"]').send_keys(Keys.CONTROL, 'v')
time.sleep(1)
# 로그인 버튼 클릭
driver.find_element_by_xpath('//*[@id="log.login"]').click()
네이버 로그인의 경우 로봇 입력 방지 captcha를 우회하기 위해 클립보드에 복사, 입력 칸에 붙여넣기 방식을 사용하였습니다. 다른 사이트의 경우,
xpath.send_key("ID/PW")
적용할 수 있습니다.1. 크롬 검사도구를 사용해 xpath, id 등 elements를 얻을 수 있고 element에 맞게 수정해서 사용할 수 있습니다.
- 이 예제에선 Xpath를 사용했습니다.
#다양한 find_element_by_ 들을 사용할 수 있습니다. driver.find_element_by_xpath(self, xpath) driver.find_element_by_css_selector(self, css_selector) driver.find_element_by_class_name(self, name) driver.find_element_by_link_text(self, link_text) driver.find_element_by_name(self, name) driver.find_element_by_id(self, id_) driver.find_element_by_tag_name(self, id_) driver.find_element_by_partial_link_text(self, link_text)
- 이 예제에선 Xpath를 사용했습니다.
[셀레니움 기초 1편] 패키지 설치 및 웹페이지 열기
[셀레니움 기초 2편] 텍스트 입력 | 버튼 클릭 | 페이지 이동
[셀레니움 기초 3-1편] 네이버 자동 로그인
[셀레니움 기초 3-2편] 쿠팡 자동 로그인
[셀레니움 기초 4편] html 데이터 읽기 bs4
python3.9 | camp-lee@naver.com
반응형
'셀레니움 > 기초 따라하기' 카테고리의 다른 글
[셀레니움 응용] 네이버 메일 보내기 (0) | 2021.11.05 |
---|---|
[셀레니움 기초 4편] html 데이터 읽기 bs4 (0) | 2021.10.22 |
[셀레니움 기초 3-2편] 쿠팡 자동 로그인 (0) | 2021.10.18 |
[셀레니움 기초 2편] 텍스트 입력 버튼 클릭 페이지 이동 (0) | 2021.10.15 |
[셀레니움 기초 1편] 패키지 설치 및 웹페이지 열기 (0) | 2021.10.15 |