본문 바로가기
Python/Selenium

[Selenium] 로그인 자동화 프로그램 (캡차 우회)

by 미눅스[멘토] 2024. 10. 11.
728x90

 

아래는 코드는 네이버 로그인 캡차를 우회하지 않는 코드이다

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

user_id = "아이디"
user_pw = "비밀번호"

# 드라이버 생성
driver = webdriver.Chrome()
driver.maximize_window()

# 1. 로그인 페이지 이동
time.sleep(2)

# 2. 아이디 입력
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.send_keys(user_id)
time.sleep(1)

# 3. 비밀번호 입력
pw = driver.find_element(By.CSS_SELECTOR, "#pw")
pw.send_keys(user_pw)
time.sleep(1)

# 4. 로그인 버튼 클릭
driver.find_element(By.CSS_SELECTOR, ".btn_login").click()

 

 

결과는 이렇게

아래처럼 막혀버리고 만다.

 

 

클립보드에 복사한 뒤에 붙여넣기 기능을 이용해서

아이디와 비밀번호를

입력하면 다시 로그인이 잘된다 

아래가 바로 이 코드의 핵심이다.

 

 

# pyperclip 라이브러리 설치
pip install pyperclip
 
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import pyperclip
import time

user_id = "아이디"
user_pw = "비밀번호"

# 드라이버 생성
driver = webdriver.Chrome()
driver.maximize_window()

# 1. 로그인 페이지 이동
time.sleep(2)

# 2. 아이디 입력
id = driver.find_element(By.CSS_SELECTOR, "#id")
pyperclip.copy(user_id)
id.send_keys(Keys.CONTROL, 'v')
time.sleep(2)

# 3. 비밀번호 입력
pw = driver.find_element(By.CSS_SELECTOR, "#pw")
pyperclip.copy(user_pw)
pw.send_keys(Keys.CONTROL, 'v')
time.sleep(2)

# 4. 로그인 버튼 클릭
driver.find_element(By.CSS_SELECTOR, ".btn_login").click()
 

 

 

이렇게 코드를 수정한 뒤에 다시 코드를 돌려보면

아래처럼 다시 로그인이 잘 된다!!

 

 

네이버 로그인이 필요한 다양한 서비스들을

자동화 할 수 있지만 절대 악용은 하지 말아야한다.