python

python 셀레니움 네이버 로그인하기 - 2024

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

네이버 로그인 코드

from selenium import webdriver

import time


driver = webdriver.Chrome()

driver.maximize_window()


#네이버 로그인

url = 'https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/'

driver.get(url)


from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.common.keys import Keys

import pyperclip

import pyautogui


#로그인 알고리즘

#아이디와 비밀번호 셋팅 보안에 중요

user = {'id':'아이디','pw':'비밀번호'}


time.sleep(1)

driver.find_element(By.ID,'id').click()

pyperclip.copy(user['id'])

ActionChains(driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()


time.sleep(1)

driver.find_element(By.ID,'pw').click()

pyperclip.copy(user['pw'])

ActionChains(driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

pyautogui.hotkey('enter')

 

네이버 로직이 변경되어 send_keys를 사용하여 id값을 넣는 것이 불가능해졌다. 

데이터 복사 붙여넣기 기능을 사용하여 해당칸을 클릭하여 데이터를 붙여 넣을 방법을 사용할 것입니다.

 

코드 뜯어보기

-준비사항1 네이버 2단계인증을 먼저 해제 해야 합니다. (링크) <- 참조

-준비사항2 크롬드라이버와 크롬 버전 맞추기 (크롬드라이버가 작동하게)

 

1.크롬드라이버 구동과 로그인 페이지로 이동하기

from selenium import webdriver

import time


driver = webdriver.Chrome()

driver.maximize_window()


#네이버 로그인

url = 'https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/'

driver.get(url)

 

2.로그인에 필요한 것들 import하기

from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

from selenium.webdriver.common.keys import Keys

import pyperclip

import pyautogui

 

3.계정 정보 변수에 담기

user = {'id':'아이디','pw':'비밀번호'}

 

4.아이디와 비밀번호 입력 그리고 엔터

time.sleep을 사용하여 잠깐의 텀을 주어 에러 방지

아이디칸을 찾아 클릭하여 아이디칸 활성화

아이디 복사 후 붙여 넣기

time.sleep을 사용하여 잠깐의 텀을 주어 에러 방지

비밀번호칸을 찾아 클릭하여 아이디칸 활성화

비밀번호 복사 후 붙여 넣기

엔터

time.sleep(1)

driver.find_element(By.ID,'id').click()

pyperclip.copy(user['id'])

ActionChains(driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()


time.sleep(1)

driver.find_element(By.ID,'pw').click()

pyperclip.copy(user['pw'])

ActionChains(driver).key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()

pyautogui.hotkey('enter')

 

2단계 인증 페이지로 넘어가는 것만 아니면 로그인 성공!

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0