이것저것 적어보는 블로그

Selenium 사용시 네이버 로그인 문제 해결! Pyperclip (파이썬 매크로 로그인) 본문

개발&코딩/Python

Selenium 사용시 네이버 로그인 문제 해결! Pyperclip (파이썬 매크로 로그인)

dona0408 2021. 6. 22. 01:20
반응형

Selenium의 xpath등을 이용해서 네이버 로그인을 시도하면 봇 감지 알고리즘에 의하여 캡챠 확인이 뜨면서 로그인이 진행되지 않는다.
Pyperclip이라는 모듈을 사용하면 클립보드를 이용해 로그인을 하는 방식으로 해당 현상을 넘길 수 있다.

pip install pyperclip

해당 구문을 입력해서 모듈을 설치한 다음 import선언을 해준다.

추가로 Control키 입력을 위해 아래의 구문도 추가해준다.

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

이후 아래의 코드를 적절히 이용하면 된다.

def copy(xpath, input):
	pyperclip.copy(input)
    driver.find_element_by_xpath(xpath).send_keys(Keys.CONTROL, 'v')
    id = "" # id 입력
    pw = "" # pw 입력
    copy('//*[@id="id"]', id) # 입력 받은 id 복사 & 붙여넣기 
    copy('//*[@id="pw"]', pw) # 입력 받은 pw 복사 & 붙여넣기
    driver.find_element_by_xpath('//*[@id="log.login"]').click() # 로그인 버튼 클릭
    driver.find_element_by_xpath('//*[@id="new.dontsave"]').click() # 자주 사용하는 기기 등록안함

해당 코드를 이용하면 매크로를 통해 네이버 로그인이 가능하다.

* 맥 사용자의 경우 send_keys(Keys.CONTROL, 'v') 구문의 Keys.CONTROL을 Keys.Command로 바꿔야 한다.
그리고 Chrome에서 매크로를 통한 네이버 로그인이 정상작동 하지 않으므로 FireFox 브라우저를 사용해야한다.
Geckodriver를 받아서 바꿔줘야 FireFox로 동작한다.

반응형

'개발&코딩 > Python' 카테고리의 다른 글

카카오뱅크 26주 적금 계산기  (0) 2020.04.21
Comments