Selenium 추가 내용 & 활용
브라우저가 모두 로딩이 안 되어있다면 버튼 수행을 할 수가 없으므로,
일정 시간대 기후, 버튼 클릭을 하는 내용
### 기본 내용
from selenium import webdriver
browser = webdriver.Chrome()
browser.maximize_window() # 브라우저 최대화
url = "[이동할 사이트 url]"
browser.get(url)
###
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 링크 텍스트로 요소 추출하고, 버튼 click
browser.find_elements_by_link_text("조회하기").click()
try:
#성공했을 때 동작 수행
#특정 XPath의 내용을 가져온다.
elem = WebDriverWait(browser, 10).until(EC.presence_of_element_located(By.XPATH, "//*[@id]"))
print(elem.text)
finally:
browser.quit() # 실패하면, 브라우저 종료
메서드 , 속성 등 정리
DOM내부에 있는 요소 찾는 것
find_element_by_id(id) | id속성으로 요소를 하나 추출한다 |
find_element_by_name(name) | name속성으로 요소를 하나 추출한다 |
find_element_by_css_selector(query) | css선택자로 요소를 하나 추출한다 |
find_elements_by_css_selector(query) | css선택자로 요소를 모두 추출한다 |
find_element_by_xpath(query) | XPath를 지정해 요소를 하나 추출한다 |
find_elements_by_xpath(query) | XPath를 지정해 요소를 모두 추출한다 |
find_element_by_tag_name(name) | 태그이름이 name에 해당하는 요소를 하나 추출한다 |
find_elements_by_tag_name(name) | 태그이름이 name에 해당하는 요소를 모두추출한다 |
find_element_by_link_text(text) | 링크 텍스트로 요소를 하나 추출한다 |
find_element_by_partial_link_text(text) | 링크의 자식요소에 포함돼 있는 텍스트로 요소를 하나 추출한다. |
find_elements_by_partial_link_text(text) | 링크의 자식요소에 포함돼 있는 텍스트로 요소를 모두 추출한다 |
find_element_by_class_name(name) | 클래스 이름이 name에 해당하는 요소를 하나 추출한다. |
find_elements_by_class_name(name) | 클래스 이름이 name에 해당하는 요소를 모두 추출한다 |
DOM 요소에 적용할 수 있는 메소드
clear() | 글자를 입력할 수 있는 요소의 글자를 지운다. |
click() | 요소를 클릭한다 |
get_attribute(name) | 요소의 속성중에 name에 해당하는 속성의 값을 추출한다 |
is_displayed() | 요소가 화면에 출력되는지 확인한다. |
is_enabled() | 요소가 활성화 되었는지 확인한다. |
is_selected() | 체크박스등의 요소가 선택 상태인지 확인한다 |
screenshot(filename) | 화면을 캡쳐해서 filename으로 저장한다 |
send_keys(value) | 키를 입력한다. 일반적으로 text데이터를 보낸다 |
DOM 요소에 적용할 수 있는 속성들
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속성 값을 추출한다.
'프로그래밍&IT > 파이썬' 카테고리의 다른 글
[파이썬] 웹 스크래핑.7 - Selenium 활용. "구글 무비" (동적페이지) 정보 수집 (0) | 2021.11.24 |
---|---|
[파이썬] 웹 스크래핑.5 - Selenium 기본 (0) | 2021.10.25 |
[파이썬] 웹 스크래핑.4 - CSV 기본 (0) | 2021.10.24 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 2. find_all [+ http 메소드:get,post] (0) | 2021.10.23 |
[파이썬] 웹 스크래핑.3 - BeautifulSoup4 - 1. 설치 및 기본적인 찾기 (0) | 2021.10.22 |