XPath :: 다음 형제 가져 오기
다음과 같은 HTML 구조가 있습니다. DOM 내에 이러한 태그가 많이 있기 때문에 두 번째 색상 다이제스트 요소를 추출하는 강력한 방법을 구축하려고합니다.
<table>
<tbody>
<tr bgcolor="#AAAAAA">
<tr>
<tr>
<tr>
<tr>
<td>Color Digest </td>
<td>AgArAQICGQMVBBwTIRQHIwg0GUMURAZTBWQJcwV0AoEDAQ </td>
</tr>
<tr>
<td>Color Digest </td>
<td>2,43,2,25,21,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td>
</tr>
</tbody>
</table>
디코딩 된 값이있는 두 번째 "Color Digest"td 요소를 추출하려고합니다.
나는 다음 xpath를 작성했지만 두 번째를 얻는 대신 두 번째 td 요소를 얻지 못하고 있습니다.
//td[text() = ' Color Digest ']/following-sibling::td[2]
그리고 그것을 td [2]에서 td [1]로 변경하면 두 요소를 모두 얻습니다.
'Color Digest'와 같은 td를 가진 두 번째 tr을 찾아야합니다. 그런 다음 tr에서 첫 번째 td의 다음 형제 또는 두 번째 td를 살펴 봐야합니다.
다음을 시도하십시오.
//tr[td='Color Digest'][2]/td/following-sibling::td[1]
또는
//tr[td='Color Digest'][2]/td[2]
http://www.xpathtester.com/saved/76bb0bca-1896-43b7-8312-54f924a98a89
xPath로 요소 목록을 식별 할 수 있습니다.
//td[text() = ' Color Digest ']/following-sibling::td[1]
이렇게하면 두 번째 요소를 의도 한대로 사용할 수있는 것보다 두 가지 요소 목록이 제공됩니다. 예를 들면 :
List<WebElement> elements = driver.findElements(By.xpath("//td[text() = ' Color Digest ']/following-sibling::td[1]"))
이제 두 번째 요소를 원하는 요소로 사용할 수 있습니다. 바로 elements.get (1)
/html/body/table/tbody/tr[9]/td[1]
Chrome (사파리도 가능)에서는 요소를 검사 한 다음 xpath를 가져 오려는 태그를 마우스 오른쪽 버튼으로 클릭 한 다음 xpath를 복사하여 해당 요소를 선택할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/11657223/xpath-get-following-sibling
'code' 카테고리의 다른 글
Redis에서 세트를 비우거나 삭제 하시겠습니까? (0) | 2020.11.18 |
---|---|
데이터 폴더의 URI로 카메라 결과를 얻는 방법은 무엇입니까? (0) | 2020.11.18 |
SQL Server : PRINT 출력이 즉시 나타나지 않습니다. (0) | 2020.11.18 |
ASP.NET의 HttpHandler 란? (0) | 2020.11.18 |
gcc 및 ld의 위치 독립적 실행 파일에 대한 -fPIE 옵션은 무엇입니까? (0) | 2020.11.18 |