본문 바로가기
파이썬/파이썬 셀레니움, Request

네이버 로그인 자동화, 웹 스크래핑 selenium 에러(나도코딩)

by SeH_ 2022. 10. 12.
반응형

에러 1 : AttributeError: 'WebDriver' object has no attribute 'find_element_by_class_name

이 에러는 selenium 버전이 올라가면서 get 부분의 쓰임새가 달라져서 그런 것 같습니다.

 

에러 2 : 나도 코딩님께서 올려주신 티스토리 링크 적용해도 안됨(js 부분이라 잘 모르겠습니다.)

 

따라서, pyperclip을 이용하여 이 모든 에러 1, 2를 고친 코드를 공유하겠습니다. 

2022년 10월 12일 작동 잘 됨.

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

browser = webdriver.Chrome() # 현재파일과 동일한 경로일 경우 생략 가능

user_id = 'naver_id'
user_pw = 'naver_pw'

# 1. 네이버 이동
browser.get('http://naver.com')

# 2. 로그인 버튼 클릭
elem = browser.find_element(By.CLASS_NAME,'link_login')
elem.click()

# 3. id 복사 붙여넣기

elem_id = browser.find_element(By.ID,"id")
elem_id.click()
pyperclip.copy('아이디넣으세요')
elem_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)

# 4. pw 복사 붙여넣기
elem_pw = browser.find_element(By.ID, 'pw')
elem_pw.click()
pyperclip.copy('비밀번호')
elem_pw.send_keys(Keys.CONTROL, 'v')
time.sleep(1)

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

# 6. html 정보 출력
#print(browser.page_source)


# 7. 브라우저 종료
# browser.close() # 현재 탭만 종료
# browser.quit() # 전체 브라우저 종료

댓글