programing

첫 번째 발생만 찾는 XPath 식은 무엇입니까?

codeshow 2023. 10. 9. 23:42
반응형

첫 번째 발생만 찾는 XPath 식은 무엇입니까?

이 Xpath 표현을 사용했습니다."//span[@class='Big']"그 페이지 안에 있는 모든 요소들이 아래에 있습니다.<span>꼬리표와class='Big'.

제 질문은 모든 항목이 아닌 페이지의 첫 번째 항목만 원하는 경우 올바른 것은 무엇입니까?Xpath표정?

고마워 나린아

정답(대괄호 참조):

(//span[@class='Big'])[1]

일반적인 경우에는 다음 식이 잘못된 것입니다.

//span[@class='Big'][1]

왜냐하면 그것은 모든 것을 선택하기 때문입니다.span첫 번째 술어의 조건을 만족하는 문서의 요소이며, 부모의 첫 번째 자식입니다. XML 문서에는 이러한 요소가 많이 있을 수 있으며 모든 요소가 선택됩니다.

자세한 설명은 https://stackoverflow.com/a/5818966/36305 을 참조하십시오.

속성이 다음같을 것으로 예상하는 경우 Dimtre Novatchev의 대답이 정확합니다. Big(요소에 연결된 다른 클래스 없음):

(//span[@class="Big"])[1]

... 이는 다음과 같은 자바스크립트 표현과 유사합니다.

document.querySelectorAll('span[class="Big"]')[0]

반면에, 당신이 기대하는 것은Big(유일한 클래스가 아닌) 속성의 임의 수의 클래스하나가 되려면 다음 식을 사용할 수 있습니다.

(//span[contains(concat(" ", normalize-space(@class), " "), " Big ")])[1]

... 이는 다음과 같은 자바스크립트 표현과 유사합니다.

document.querySelectorAll('span.Big')[0]

언급URL : https://stackoverflow.com/questions/14294997/what-is-the-xpath-expression-to-find-only-the-first-occurrence

반응형