
웹 애플리케이션 테스트를 위한 포터블 프레임워크이다. 셀레늄은 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 플레이백 도구를 제공한다. (셀례늄 IDE) C 샤프, 그루비, 자바, 펄, PHP, 파이썬, 루비, 스칼라 등 수많은 유명 프로그래밍 언어들에서 테스트를 작성하기 위한 테스트 도메인 특화 언어(Selenese)를 제공한다. 이 테스트들은 현대의 대부분의 웹 브라우저에서 수행이 가능하다. 셀레늄은 윈도우, 리눅스, macOS 플랫폼에서 디플로이된다. 아파치 2.0 라이선스로 배포되는 오픈 소스 소프트웨어이다. [출처: 위키백과]
pip install selenium
conda install -y selenium
둘 중 하나 사용하고 이후 크롬드라이버를 설치해야 실행 가능하다.
import selenium
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
URL을 변수에 담는다. 이후에 다음과 같은 코드를 입력한다.
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get(url=URL)
tip
import time
time.sleep(초)
자바스크립트가 동적으로 만든 데이터를 크롤링 하기 위해
사이트의 다양한 HTML 요소에 클릭, 키보드 입력 등 이벤트를 주기 위해
Selenium을 잘 활용하면, 평소에 반복적으로 하고 있는 웹상의 업무를 자동화할 수도 있다.
자동으로 로그인하기
메일보내기 자동화
블로그 이웃새글 자동좋아요 누르기
인스타그램 자동으로 좋아요, 댓글 작성하기
등등 정말 많은 다양한 일
=> 웹 크롤링 시 requests 라이브러리와 같이 사용해 속도 측면을 보완할 수 있다.
[출처][Python Selenium] 파이썬 셀레니움 - 개요와 장단점|작성자 넬티아
from selenium.webdriver.common.alert import Alert
Alert(driver).accept() #경고창 수락 누름
Alert(driver).dismiss() #경고창 거절 누름
print(Alert(driver).text # 경고창 텍스트 얻음