[python] 파이썬 셀레니움(selenium) #2메소드 종류

Selenium 사용법

import

from selenium import webdriver

드라이버 로드

크롬         : browser = webdriver.Chrome("크롬 드라이버가 있는 경로")
PhantomJS: 
browser = webdriver.PhantomJS("팬텀JS드라이버가 있는 경로")

 

셀레니움으로 DOM(계층요소) 요소를 선택하는 방법

 

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에 해당하는 요소를 하나 추출한다.  

DOM내부에 있는 여러개의 요소들을 모두 추출하는 메소드

전체를 추출하는 메소드
find_elements_by_css_selector(query)  
find_elements_by_xpath(query)  
find_elements_by_tag_name(name)  
find_elements_by_class_name(name)  
find_elements_by_partial_link_text(text) 

 


DOM요소에 적용할 수 있는 메소드 / 속성들 

메소드

메소드 설명
clear()  글자를 입력할 수 있는 요소의 글자를 지운다.   
click()     요소를 클릭한다  
get_attribute(name)   요소의 속성중에 name에 해당하는 속성의 값을 추출한다  
is_displayed() 요소가 화면에 출력되는지 확인한다.  
is_enabled()    요소가 활성화 되었는지 확인한다.  
is_selected()  체크박스등의 요소가 선택 상태인지 확인한다  
screenshot(filename) 화면을 캡쳐해서 filename으로 저장한다 
send_keys(value)   키를 입력한다. 일반적으로 text데이터를 보낸다  

 

>> value텍스트 데이터아닌 경우 ( 특수키:방향키, 펑션키(f1,f2,f3...f12),Enter,Tab,Control,...)  

즉, 특수키를 사용해야 하는 경우에는 별도의 모듈을 사용해야 합니다.  

from selenium.Webdriver.common.keys import Keys

방향키 : ARROW_DOWN / ARROW_LEFT / ARROW_RIGHT / ARROW_UP  
BACKSPACE / DELETE / HOME / END / INSERT  
ALT / COMMAND / CONTROL / SHIFT  
ENTER / ESCAPE / SPACE / TAB  
F1 / F2 / F3 / F4 ..... / F12     


속성

속성들 설명
id 요소의 id 속성
location 요소의 위치
parent 부모 요소
rect  크기와 위치정보를 가진 딕셔너리 자료형을 리턴한다.
screenshot_as_base64 스크린샷을 base64형태로 추출한다.  
screenshot_as_png 스크린샷을 PNG형식의 바이너리로 추출한다.
size 요소의 크기  
tag_name 태그이름  
text 요소내부의 글자 

 

submit() : 입력 양식을 전송
value_of_css_property(name): name에 해당하는 CSS속성 값을 추출한다.


PhantomJS용 메소드와 속성

add_cookie(cookie_dict):  쿠키 값을 딕셔너리 형식으로 지정

>> driver.add_cookie({'name:kim','value':'test'})  
driver.add_cookie({'name':'kim', 'value':'test', 'path':'/')}  
driver.add_cookie({'name':'kim', 'value':'test', 'path':'/', 'secure':True})  

메소드 설명
close() 브라우저를 닫는다
back() /forward() 이전 페이지 또는 다음 페이지로 이동  
current_url  현재 url 을 추출한다.  
delete_all_cookies() 모든 쿠키를 제거한다.  
delete_cookie(name)  특정 쿠키를 제거한다.  
get_cookie(name)  특정 쿠키를 읽는다.  
get_cookies()   모든 쿠키 값을 추출한다.  
execute(command, params)  브라우저의 고유 명령어를 실행  
get(url)  웹 페이지를 읽어들인다.  
get_screenshot_as_file(filename) 스크린샷을 파일로 저장
get_screenshot_as_png  PNG형식으로 스크린샷의 바이너리 추출  
save_screenshot(filename)  스크린샷을 저장  
implicitly_wait(sec) 최대 대기시간을 초 단위로 지정해서 처리가 끝날 때 까지 대기  
quit() 드라이버를 종료시켜서 브라우저를 닫는다.  
title  현재 페이지의 타이틀을 추출  

 

댓글

Designed by JB FACTORY