[ 설치환경 ]

- Microsoft Windows 10 Pro(10.0.19041 N/A 빌드 19041)

- VSCode (1.57.1)

- Python 3.9.9

- selenium

- chrome browser (버전 96.0.4664.93)

- ChromeDriver 96.0.4664.45

 

1. 브라우저 자동화나 크롤링을 위한 selenium

 

selenium 이란

selenium은 웹사이트 테스트를 위한 도구로 브라우저 동작을 자동화할 수 있다. 셀레니움을 이용하는 웹크롤링 방식은  프로그래밍으로 브라우저 동작을 제어해서 마치 사람이 이용하는 것 같이 웹페이지를 요청하고 응답을 받아올 수 있다

 Selenium은 마우스, 키보드의 동작과 디스플레이에 바로 나타나는 html과의 상호작용할 수 있다.


chromedriver 다운로드

셀레니움을 사용하기 위해서는 크롬드라이버 다운로드가 필요하다. 우선 자신의 크롬 브라우저가 어떤 버전을 사용하는지 확인해야 한 후 크롬 브라우저 버전에 맞는 chromedriver를 다운로드한다. 

(Window version 은 chromedriver_win32.zip 이다)

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 97, please download ChromeDriver 97.0.4692.36 If you are using Chrome version 96, please download ChromeDriver 96.0.4664.45 If you are using Chrome version 95, please download ChromeDriver 95.0.4638.69 For o

chromedriver.chromium.org

 

selenium 설치

VSCode 실행 창에서 하단의 TERMINAL 창에서 pip install selenimu 명령어를 실행한다.

 

2. 자동로그인 source(예시)

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

def set_chrome_driver():
    chrome_options = webdriver.ChromeOptions()
    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
    return driver

driver = set_chrome_driver()

## id/pass 입력
elem = driver.find_element(By.NAME, "userId")
elem.send_keys("userid")
elem = driver.find_element(By.NAME, "password")
elem.send_keys("userpassword")

## login 버튼클릭
driver.find_element(By.XPATH, '//*[@id="loginTab"]/div[1]/div/div[1]/div[1]/div[2]/button').click()
 
 

위 소스에서 자신이 자동로그인 하고 싶은 사이트를 지정하고 ID/패스워드를 변경한다.
 
--> 자신이 자동로그인 하고 싶은 SITE로 변경
 
## id/pass 입력
elem = driver.find_element(By.NAME, "userid")
--> Site의 계정 element 명으로 변경한다.
elem.send_keys("userid")
--> 본인의 ID를 입력한다.
 
elem = driver.find_element(By.NAME, "password")
--> Site의 패스워드 element 명으로 변경한다.
elem.send_keys("userpassword")
--> 본인의 패스워드를 입력한다.

 

 

 

+ Recent posts