- 태그 이름으로 위치 지정
WedElement loginButton = driver.findElement(By.tagName("button"));
loginButton.click();
- <table> 태그로 표현된 행이 몇 개인지 알아보기
WebElement table = driver.findElement(By.id("summaryTable"));
List<WebElement> rows = table.findElements(BytagName("tr"));
assertEquals(10, rows.size());
- CSS 셀렉터로 엘리먼트 위치 지정
- XPath에 비해 매우 빠르고 확실하게 엘리먼트 위치를 지정할 수 있다.
- 절대 결로로 엘리먼트 찾기
WebElement userName = driver.findElement(By.cssSelector("htmlbody div div form input"));
WebElement userName = driver.findElement(By.cssSelector("html > body > div > div > form > input"));
- 상대 경로로 엘리먼트 찾기
WebElement userName = driver.findElement(By.cssSelsector("input"));
- Class 셀렉터로 엘리먼트 찾기
WebElement loginButton = driver.findElement(BycssSelector("input.login"));
WebElement loginButton = driver.findElement(By.cssSelector(.login"));
지금의 CSS 셀렉터는 className() 메소드와 기능이 비슷하다.
- ID 셀렉터로 엘리먼트 찾기
WedElement userName = driver.findElement(By.cssSelector("input#userName"));
//비슷한 코드
WedElement userName = driver.findElement(By.cssSeletor("#username"));
- Attribute 셀렉터로 엘리먼트 찾기
//<input> 엘리먼트의 name속성을 이용해 엘리먼트 위치 지정
WebElement userName = driver.findElemnet(By.cssSelsector("input[name=username]"));
//<img>태그의 art 속성 값을 이용해 엘리먼트 위치 지정
WebElement previousButton = driver.findElement(By.cssSelector("img[art='Previous']"));
//login 버튼의 <input> 엘리먼트 위치를 지정
WedElement previousButton = driver.findElement(By.cssSelector("input[type='submit'][value='Login']"));
- Attributes Name 셀렉터로 엘리먼트 찾기
//<img> 엘리먼트 중 alt 속성을 가진 엘리먼트만 찾기
List<WebElement> imagesWithAlt = driver.findElements(By.cssSelector("img[art]"));
//<img> 엘리먼트 중 alt 속성을 가지지 않은 엘리먼트만 찾기
List<WebElement> imagesWithoutAlt = driver.findElements(By.cssSelector("img:not([alt])"));
'개발 공부' 카테고리의 다른 글
Selenium 에서의 엘리먼트 위치 지정 NO.6 Ver.Java (XPath로 엘리먼트 위치 지정) (0) | 2023.06.05 |
---|---|
Selenium 에서의 엘리먼트 위치 지정 NO.5 Ver.Java (속성 값 부분 일치 사용 - CSS 셀렉터) (0) | 2023.06.02 |
Selenium 에서의 링크 위치 지정 Ver.Java (0) | 2023.06.02 |
Selenium 에서의 엘리먼트 위치 지정 NO.3 Ver.Java (여러 엘리먼트 지정 예제) (0) | 2023.06.02 |
Selenium 에서의 엘리먼트 위치 지정 NO.2 Ver.Java (메소드 예제) (0) | 2023.06.02 |