반응형
첫 번째 발생만 찾는 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
반응형
'programing' 카테고리의 다른 글
셰이프 파일(.shp)을 xml/json으로 변환 (0) | 2023.10.09 |
---|---|
Swift에서 계산된 읽기 전용 속성 vs 함수 (0) | 2023.10.09 |
.bss vs COMMEN: 어디로 가는 거지? (0) | 2023.10.09 |
Python에서 "스레드 로컬 스토리지"란 무엇이며, 왜 필요합니까? (0) | 2023.10.09 |
밑줄과 jshint 사용 (0) | 2023.10.09 |