XPath는 XML문서에서 노드를 선택할 때 사용하는 쿼리 언어다.
대부분의 브라우저는 XHTML페이지를 HTML문서로 표현하는 것처럼 XPath를 지원한다.
XPath로 엘리먼트를 지정하는 방법은 유연함도 있고 정상적으로 동작하겠지만, 느린 성능 때문에 최후의 방법으로 선택해야 한다.
- 절대 경로로 엘리먼트 찾기
WedElement userName = driver.findElement(By.xpath("html/body/div/div/form/input"));
- 상대 경로로 엘리먼트 찾기
WebElement userName = driver.findElement(By.xpath("//input"));
- 인덱스를 사용한 엘리먼트 찾기
WebElement userName = driver.findElement(By.xpath("//input[2]"));
- Xpath와 속성 값으로 엘리먼트 찾기
//id 속성값으로 위치 지정.
WebElement username = driver.findElement(By.xpath("//input[@id='username']"));
//art 속성값으로 img위치 지정.
WebElement previousButton = driver.findElement(By.xpath("img[@alt='Previous']"));
//다중 속성으로 위치 지정.
WebElement previousButton = driver.findElement(By.xpath("//input[@type='submit'][@value='Login']"));
//위의 코드와 동일한 결과
WebElement prviousButton driver.findElement(By.xpath("//input[@type='submit' and @value='Login']"));
//둘중 하나라도 일치
WebElement prviousButton driver.findElement(By.xpath("//input[@type='submit' or @value='Login']"));
- Xpath 속성값으로 엘리먼트 찾기
List<WebElement> imagesWithAlt = driver.findElements(By.xpath("img[@alt]"));
'개발 공부' 카테고리의 다른 글
Selenium Test코드 예제 (0) | 2023.06.05 |
---|---|
Selenium 에서의 엘리먼트 위치 지정 NO.7 Ver.Java (Xpath 속성 값 부분 일치 사용) (0) | 2023.06.05 |
Selenium 에서의 엘리먼트 위치 지정 NO.5 Ver.Java (속성 값 부분 일치 사용 - CSS 셀렉터) (0) | 2023.06.02 |
Selenium 에서의 엘리먼트 위치 지정 NO.4 Ver.Java (태그 이름과 css셀렉터로 위치 지정) (0) | 2023.06.02 |
Selenium 에서의 링크 위치 지정 Ver.Java (0) | 2023.06.02 |