728x90
파이썬 캡차 우회, selenium 네이버 로그인 캡챠
이번 글에서는 Selenium을 이용하여 Naver Login을 했을 때, 뜨는 보안문자를 피하는 방법에 대해 알아보도록 하겠다.
저번 글에서 사용한 코드는 다음과 같다.
from selenium import webdriver
driver = webdriver.Chrome('chromedriver')
driver.get("https://nid.naver.com/nidlogin.login")
naver_login = driver.find_element_by_id("id")
naver_login.clear()
naver_login.send_keys("naver_id")
naver_login = driver.find_element_by_id("pw")
naver_login.clear()
naver_login.send_keys("naver_pw")
xpath = """//*[@id="frmNIDLogin"]/fieldset/input"""
driver.find_element_by_xpath(xpath).click()
실행시켰더니 다음과 같이 보안문자를 입력하라고 나온다.
자동입력 방지문자를 피하기 위해 로그인 방법을 다음과 같이 바꾼다.
사용한 방법은 pyperclip 라이브러리를 이용하는 방법이다.
코드를 다음과 같이 수정한다.
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import pyperclip
driver = webdriver.Chrome()
driver.get('https://www.naver.com/')
time.sleep(1)
login_btn = driver.find_element_by_class_name('link_login')
login_btn.click()
time.sleep(1)
naver_id = driver.find_element_by_name('id')
naver_pw = driver.find_element_by_name('pw')
naver_id.click()
pyperclip.copy('naver_id')
naver_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
naver_pw.click()
pyperclip.copy('naver_pw')
naver_pw.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
login_btn = driver.find_element_by_id('log.login')
login_btn.click()
실행 시키면 보안문자가 안뜨고 정상적으로 로그인 되는 것을 확인할 수 있다.
이번 글에서는 selenium을 이용하여 Naver 자동 로그인을 만들어 보았다.
728x90
'ETC > Python' 카테고리의 다른 글
Python PyQt QtDesigner 설치하기 & 사용법 (0) | 2020.08.13 |
---|---|
Window 10 PyQt5 설치 및 사용하는 방법 (1) | 2020.08.13 |
Python Selenium 설치 및 Naver Login 하기 (0) | 2020.08.10 |
파이썬 엑셀 읽고 쓰기 (Python Excel Read / Write) (0) | 2020.07.28 |
파이썬 exe 파일 만들기 + 자동으로 꺼지는 현상 해결 (0) | 2020.07.26 |