1. Selenium을 불러올 때
from selenium import webdriver 는 기본적으로 공통적이지만, 사용하는 웹 브라우저에 따라 뒤에 입력값이 달리집니다.
Chrome | Webdriver.Chrome |
Internet Explore | Webdriver.Ie |
Firefox | Webdriver.Firefox |
Opera | Webdriver.Opera |
2. Selenium으로 DOM 요소를 선택하는 방법
2-1 DOM 내부에 있는 여러 개의 요소 중 처음 찾아지는 요소를 추출
메서드 이름 | 설명 |
find_element_by_id(id) | id 속성으로 요소를 하나 추출 |
find_element_by_name(name) | name 속성으로 요소를 하나 추출 |
find_element_by_css_selector(query) | CSS 선택자로 요소를 하나 추출 |
find_element_by_xpath(query) | XPath를 지정해 요소를 하나 추출 |
find_element_by_tag_name(name) | 태그 이름이 name에 해당하는 요소를 하나 추출 |
find_element_by_link_text(text) | 링크 텍스트로 요소를 추출 |
find_element_by_partial_link_text(text) | 링크의 자식 요소에 포함돼 있는 텍스트로 요소를 하나 추출 |
find_element_by_class_name(name) | 클래스 이름이 name에 해당하는 요소를 하나 추출 |
2-2 DOM 내부에 있는 모든 요소 추출
메서드 이름 | 설명 |
find_elements_by_css_selector(query) | CSS 선택자로 요소를 어러 개 추출 |
find_elements_by_xpath(query) | XPath를 지정해 요소를 여러 개 추출 |
find_elements_by_tag_name(name) | 태그 이름이 name에 해당하는 요소를 여러 개 추출 |
find_elements_by_class_name(name) | 클래스 이름이 name에 해당하는 요소를 여러 개 추출 |
find_elements_by_partial_link_text(text) | 링크의 자식 요소에 포함돼 있는 텍스트로 요소를 여려 개 추출 |
3. Selenium으로 요소 조작하기
메서드 또는 속성 | 설명 |
clear() | 글자를 입력할 수 있는 요소의 글자를 지움 |
click() | 요소를 클릭 |
get_attribute(name) | 요소의 속성 중 name에 해당하는 속성의 갑을 추출 |
is_displayed() | 요소가 화면에 출력되는지 확인 |
is_enabled() | 요소가 활성화돼 있는지 확인 |
is_selected() | 체크박스 등의 요소가 선택된 상태인지 확인 |
screenshot(filename) | 스크린샷을 찍음 |
send_keys(value) | 키를 입력 |
submit() | 입력 양식을 전송 |
value_of_css_property(name) | name에 해당하는 CSS 속성의 값을 추출 |
id | 요소의 id 속성 |
location | 요소의 위치 |
parent | 부모 요소 |
rect | 크기와 위치 정보를 가진 딕셔너리 자료형을 리턴 |
screenshot_as_base64 | 스크린샷을 Base64로 추출 |
screenshot_as_png | 스크린샷을 PNG 형식의 바이너리로 추출 |
size | 요소의 크기 |
tag_name | 태그 이름 |
text | 요소 내부의 글자 |
4. Selenium 드라이버 조작
메서드 또는 속성 | 설명 |
execute_async_script(script, *args) | 비동기 처리하는 자바스크립트를 실행 |
execute_script(script, *args) | 동기 처리하는 자바스크립트를 실행 |
get(url) | 웹 페이지를 읽어 들임 |
get_cookie(name) | 특정 쿠키 값을 추출 |
get_cookies() | 모든 쿠키 값을 딕셔너리 형식으로 추출 |
get_log(type) | 로그를 추출(browser/driver/client/server) |
get_screenshot_as_base64() | base64 형식으로 스크린샷을 추출 |
get_screenshot_as_file(filename) | 스크린샷을 파일로 저장 |
get_screenshot_as_png() | PNG 형식으로 스크린샷의 바이너리를 추출 |
get_window_position(windowHandle='current') | 브라우저 위치를 추출 |
get_window_size(windowHandle='current') | 브라우저 크기를 추출 |
implicitly_wait(sec) | 최대 대기 시간을 초 단위로 지정해서 처리가 끝날 때까지 대기 |
quit() | 드라이버를 종료시켜 브라우저를 닫음 |
save_screenshot(filename) | 스크린샷을 저장 |
set_page_load_timeout(time_to_wait) | 페이지를 읽는 타임아웃 시간을 지정 |
set_script_timeout(time_to_wait) | 스크립트의 타임아웃 시간을 지정 |
set_window_position(x,y,windowHandle='current') | 브라우저의 위치를 지정 |
set_window_size(width, height, windowHandle='current') | 브라우저의 크기를 지정 |
title | 현재 페이지의 타이틀을 추출 |
'AI > 데이터 수집' 카테고리의 다른 글
API(Openweather에서 날씨정보 받아오기) (0) | 2021.02.04 |
---|---|
Selenium을 활용한 로그인 (0) | 2021.02.02 |
requests 모듈의 메서드 (0) | 2021.01.31 |
requests를 사용하여 로그인 (0) | 2021.01.31 |
상대경로 및 절대경로 (0) | 2021.01.26 |