728x90
반응형
SMALL
셀레니움 (Selenium)
python으로 크롤링할 때 Beautifulsoup4와 더불어 빼놓을 수 없는 훌륭한 라이브러리이다.
pip install selenium # python 환경
conda install selenium # conda 환경
Import
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
드라이버 (driver)
불러오기(Driver & Web Load)
URL = 'https://...'
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get(url=URL)
webdriver.Chrome(executable_path) 함수를 사용하여 드라이버를 로드한다. 여기서는 driver라는 변수에 저장한다. 다운로드한 파일 이름이 chromedriver.exe라면 경로는 같은 디렉토리일 때 파일 이름 (chromedriver)만 입력하면 된다. 확장자는 필요 없으며, 파일 경로가 다르다면 상대 경로나 절대 경로를 이용한다. 그리고 get(url) 함수를 사용하면, 해당 URL을 브라우저에서 띄운다.
현재 url 얻기
print(driver.current_url)
브라우저 닫기
driver.close() # 현재 탭 닫기
driver.quit() # 브라우저 닫기
브라우져 열기 옵션 넣기
크롬 브라우저를 열 때 넣을 수 있는 옵션을 셀레니움에서도 사용이 가능하다.
# 윈도우 사이즈
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('window-size=1920,1080')
driver = webdriver.Chrome('chromedriver.exe', options=options)
# 헤들리스
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome('chromedriver.exe', options=options)
# 창 최대화
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('start-maximized)
driver = webdriver.Chrome('chromedriver.exe', options=options)
# 또는
driver.maximize_window()
뒤로 가기 / 앞으로 가기
driver.back() # 뒤로 가기
driver.forward() # 앞으로 가기
탭 이동
driver.window_handles[0] #브라우저 탭 객체를 리스트로 반환. [0] 은 인덱싱. 첫번재 탭을 의미
driver.switch_to.window(driver.window_handles[0]) #첫번째 탭으로 이동
driver.switch_to.window(driver.window_handles[1]) #두번째 탭으로 이동
driver.switch_to.window(driver.window_handles[2]) #세번째 탭으로 이동
탭 닫기
driver.switch_to.window(driver.window_handles[0]) #닫을 탭으로 이동 후
driver.close()
https://selenium-python.readthedocs.io/index.html
728x90
반응형
LIST
'App Programming > Web Crawler' 카테고리의 다른 글
[Web Crawler] 셀레니움 (Selenium) (3) (0) | 2022.02.15 |
---|---|
[Web Crawler] 셀레니움 (Selenium) (2) (0) | 2022.02.15 |
[Web Crawler] BeautifulSoup으로 다양한 데이터 추출하기 (0) | 2022.02.14 |
[Web Crawler] HTML 기본태그 (6) (0) | 2022.02.14 |
[Web Crawler] HTML 기본태그 (5) (0) | 2022.02.14 |