python 셀레니움 네이버 로그인하기 - 2024
작성자 정보
- 마스터 작성
- 작성일
컨텐츠 정보
- 216 조회
- 목록
본문
네이버 로그인 코드
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단계 인증 페이지로 넘어가는 것만 아니면 로그인 성공!
관련자료
-
이전
-
다음