2016-07-16 2 views
0
나는 이런 식으로 뭔가를 보이는 계층 구조가 일부 "심하게"디자인 된 페이지를 통해 갈거야

...계층 구조없이 xpath를 따르는 방법?

<h1> 
    <span id=English>English</span> 
</h1> 
<div>go</div> 
<p>verb - to move from one place to another</p> 
<h1 id=Spanish>Spanish</h1> 
<div>va</div> 
<p>verb - to move from one place to another</p> 

요점은 여기 일이 계층 적없는 내가 (는 P를 얻을 수있는 방법이 필요하다는 것입니다 또는 무엇이든간에) 특정 ID 다음에 오는 것은 계층 구조에서 내려 가지 않습니다.

이 작업을 수행 할 수 있습니까?

답변

2

following-sibling::p을 사용하고 결과를 1으로 제한 할 수 있습니다. 예를 들어, 다음 XPath는 <p>verb - to move from one place to another</p>를 반환해야합니다 :

//h1[@id='Spanish']/following-sibling::p[1] 
+0

감사 , 그것은 잘 작동하지만 경로를 다시 한번 살펴 보았을 때, 그것은 다소 더 혼란 스럽습니다. 나는이 계층에 올라서서 이드에게 물러나서 형제를 얻으려고 뒤로 물러 설 필요가있다. 나는 나의 대답을 업데이트했다. – deltaskelta

+0

@deltaskelta'// h1 [span/@ id = '영어']/다음 형제 :: p [1]' – har07

1

당신은 다음과 같이 preceding 축을 사용하여 시도 할 수 있습니다 : -

//p[preceding::h1[@id='Spanish']] 

는 희망이 도움이 ... :) 답변에 대한