Testing Automation/Selenium
find_element By로 정리하기
Tongchun
2017. 11. 7. 16:29
앞서 selenium에서 element를 찾는 것을 확인했습니다.
Selenium Locating Elements (python)
각 element에 따라 method를 따로 사용하는 것 보다 깔끔하게 정리하기 위해 By를 사용해 봅시다.
driver.find_element(By.<속성>, '<속성 값>')으로 사용합니다. 여러 element를 찾을 경우 find_elements로 할 수 있습니다.
사용은 아래와 같이 합니다.
from selenium.webdriver.common.by import By driver.find_element(By.XPATH, '//button[text()="Some text"]') driver.find_element(By.XPATH, '//button') driver.find_element(By.ID, 'loginForm') driver.find_element(By.LINK_TEXT, 'Continue') driver.find_element(By.PARTIAL_LINK_TEXT, 'Conti') driver.find_element(By.NAME, 'username') driver.find_element(By.TAG_NAME, 'h1') driver.find_element(By.CLASS_NAME, 'content') driver.find_element(By.CSS_SELECTOR, 'p.content') driver.find_elements(By.ID, 'loginForm') driver.find_elements(By.CLASS_NAME, 'content')
By 속성은 아래와 같습니다.
- ID = "id"
- XPATH = "xpath"
- LINK_TEXT = "link text"
- PARTIAL_LINK_TEXT = "partial link text"
- NAME = "name"
- TAG_NAME = "tag name"
- CLASS_NAME = "class name"
- CSS_SELECTOR = "css selector"