콘솔워크

8. 왕초보를 위한 파이썬 웹 자동화 프로그램 - 네이버 로그인 하기3 - 네이버영수증캡챠해결 본문

왕초보를 위한 파이썬 자동화 프로그램 만들기/3. 파이썬 기초

8. 왕초보를 위한 파이썬 웹 자동화 프로그램 - 네이버 로그인 하기3 - 네이버영수증캡챠해결

콘솔워크 2024. 3. 11. 17:04
반응형

8. 왕초보를 위한 파이썬 웹 자동화 프로그램 - 네이버 로그인 하기3

 

 

지난 시간에 네이버에 아이디, 비밀번호 입력 후 [로그인] 버튼을 누르면 네이버 영수증 캡챠가 발생되어 로그인에 실패하였습니다. 이 부분을 해결해보겠습니다. 

 

 

네이버영수증캡챠해결

네이버 영수증 캡차를 해결하기 위해서는 클립보드 입력 방식으로 바꿔야합니다.

보통 input 박스에 값을 입력할때 키보드로 직접 타이핑하는 경우도 있지만 우리는 [Ctrl + C], [Ctrl +V] 버튼을 통해 값을 입력하기도 합니다.

 

자동화 프로그램도 클립보드 입력 방법으로 아이디와 패스워드을 입력해보겠습니다.

 

 

 

 

 

먼저, 터미널에서 클립보드를 사용하기위한 라이브러리를 설치합니다.

pip install pyperclip

 

 

 

 

 

 

 

 

pyperclip을 사용하는 방법은 간단합니다.

아래와 같이 copy 함수에 클립보드에 복사할 내용을 넣어주시면 됩니다.

pyperclip.copy("클립보드에복사할내용")

 

 

 

 

 

 

 

Keys를 import하고 우리가 익히 알고있는 Ctrl + V 버튼을 입력하게 하면 됩니다.

from selenium.webdriver.common.keys import Keys

driver.find_element(By.ID, "id").send_keys(Keys.CONTROL, "v")

 

 

 

 

 

 

 

 

 

완성된 전체 코드는 다음과 같습니다.

import time

import pyperclip
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

id = "[네이버아이디]"
pw = "[네이버비밀번호]"

# 1. 브라우저 열기
driver = webdriver.Chrome()
driver.get("https://nid.naver.com/nidlogin.login")

# 2. 아이디 입력
pyperclip.copy(id)
driver.find_element(By.ID, "id").send_keys(Keys.CONTROL, "v")

# 3. 비밀번호 입력
pyperclip.copy(pw)
driver.find_element(By.ID, "pw").send_keys(Keys.CONTROL, "v")

# 4. 로그인 버튼 클릭
driver.find_element(By.ID, "log.login").click()

time.sleep(7)

 

 

 

 

 

 

 

 

로그인이 정상적으로 되는 것을 확인 가능합니다.

 

 

 

 

 

 

 

잘 따라오셨습니다.

다음 시간에는 내가 가입한 네이버 카페 목록을 가져오는 자동화 프로그램을 만들어보겠습니다.

반응형