본문 바로가기
ETC/Python

Python Naver Login 보안문자(캡챠) 우회, 피하기

by Guardy 2020. 8. 11.
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