python과 selenium에서 사용할 수 있는 Element에 대해 알아보겠습니다.
Element를 활용하면 selenium을 활용한 크롤링 혹은 웹 자동화를 할 수있습니다.
웹 페이지에서 Element를 찾고 Element에서 제공하는 다양한 함수에 대해 알아보겠습니다.
예제에서는 chrome 브라우저를 사용합니다.
selenium WebElement python
WebElement는 DOM element를 나타냅니다.
element를 찾을 떄는 Webdriver를 이용해서 찾을 수도 있고 다른 WebElement를 통해서도 찾을 수 있습니다.
from selenium import webdriver
import time
driver = webdriver.Chrome('./chromedriver')
driver.get("https://www.tistory.com/")
element = driver.find_element_by_class_name("btn_tistory")
element.click()
time.sleep(3)
driver.close()
selenium findElement, findElements python
find_element
: 일치하는 하나의 Element를 반환합니다.
find_elements
: 일치하는 모든 Elements를 array
로 반환합니다.
findElement python
driver.get("https://www.tistory.com/")
element = driver.find_element_by_css_selector("#kakaoHead > div > div.info_tistory > div > a")
print(element.text) # print: 시작하기
findElements python
driver.get("https://www.tistory.com/")
gnb_menus = driver.find_elements_by_css_selector("#kakaoGnb > ul > li")
print(len(gnb_menus)) # print: 4
print(gnb_menus[0].text) # print: 피드
findElements는 array를 리턴합니다.
selenium send_keys python
문자 데이터를 입력하거나 Key 입력 이벤트를 발생시킬 수 있습니다.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('./chromedriver')
driver.get("https://www.tistory.com/auth/login/old?redirectUrl=https%3A%2F%2Fwww.tistory.com%2F")
login_input = driver.find_element_by_css_selector("#loginId")
login_input.send_keys("user", "email")
login_pw = driver.find_element_by_css_selector("#loginPw")
login_pw.send_keys("password", Keys.ENTER)
Key.ENTER를 사용하여 패스워드 입력 후 엔터를 입력합니다.
selenium element click python
element의 click 이벤트를 발생시킵니다.
driver.get("https://www.tistory.com/auth/login/old?redirectUrl=https%3A%2F%2Fwww.tistory.com%2F")
login_input = driver.find_element_by_css_selector("#loginId")
login_input.send_keys("user", "email")
login_pw = driver.find_element_by_css_selector("#loginPw")
login_pw.send_keys("password")
login_btn = driver.find_element_by_css_selector("#authForm > fieldset > button")
login_btn.click()
로그인 버튼 element를 찾고 click() 함수를 이용하여 click이벤트를 발생시킵니다.
selenium element text python
element의 sub-elements 포함한 모든 텍스트를 return합니다.
driver.get("https://www.tistory.com/auth/login/old?redirectUrl=https%3A%2F%2Fwww.tistory.com%2F")
fields = driver.find_element_by_css_selector("#authForm > fieldset")
print(fields.text)
# print
# 로그인
# 로그인 상태 유지
# 아이디 / 비밀번호 찾기
element를 활용하여 원하는 DOM을 찾거나 혹은 모든 DOM 리스트를 찾는 방법에 대해 알아보겠습니다.
다음에는 By를 활용한 DOM을 찾는 다양한 방법에 대해 알아보겠습니다.
'Selenium' 카테고리의 다른 글
selenium element selector python (0) | 2021.01.20 |
---|---|
selenium element timeout/wait By nodejs (0) | 2021.01.18 |
selenium python 페이지 열기 (0) | 2021.01.13 |
selenium element selector By nodejs (0) | 2021.01.12 |
selenium element 찾기 nodejs (0) | 2021.01.12 |