Artificial Intelligence
[Python] RPA를 위한 웹 자동화 매크로
테리는당근을좋아해
2020. 2. 4. 21:31
셀레니움(selenium)이란?
셀레니움은 다양한 브라우저 및 플랫폼에서 웹 응용 프로그램을 위한 자동화 테스트 스위트 패키지이다.
rpa 시스템 구현을 위해 셀레니움을 활용하여 자동화 웹 응용 시스템을 구현한다.
셀레니움 설치
$ pip install selenium
드라이버 설치
chrome://version로 접속해 크롬버전 확인
확인한 버전에 맞는 드라이버 설치
( https://sites.google.com/a/chromium.org/chromedriver/downloads )
패키지 임포트 및 드라이버 객체 생성
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('./chromedriver')
입력한 URL 접속
# 원하는 url로 접속
driver.get('http://www.naver.com')
# 접속한 사이트 이름확인
assert "NAVER" in driver.title
검색 기능
# 검색기능
# html id 값으로 element 생성
elem = driver.find_element_by_id("query")
# 검색 값 입력
elem.send_keys("아이폰7")
# 버튼 찾기
elem = driver.find_element_by_id("search_btn")
# 클릭
elem.click()
로그인 기능
# 로그인 기능
# 메인 페이지의 로그인 버튼 클릭
elem = driver.find_element_by_class_name('lg_local_btn')
elem.click()
# ID 입력
elem = driver.find_element_by_id("id")
elem.send_keys("아이디")
# PW 입력
elem = driver.find_element_by_id("pw")
elem.send_keys("패스워드")
# 로그인 버튼 클릭
elem = driver.find_element_by_class_name("btn_global")
elem.click()
일반적인 로그인 기능을 구현하였지만, 네이버와 같은 사이트는 자동입력방지로 인해 로그인을 할 수 없게 된다.