xpath axes 메서드를 사용하면 때때로 잘못된 노드가 반환된다는 사실을 눈치 챘습니다.xpath - 축 메서드가 잘못된 노드를 반환합니다.
URL : 나는 두 가지 예제를 가지고 "http://demo.guru99.com/v1/"
<tr>
<td align="center">
<img src="../images/1.gif">
<img src="../images/3.gif">
<img src="../images/2.gif">
</td>
</tr>
나는 "// TD // 아이 : IMG"축 방법으로 세 가지 IMG 요소를 선택할 수 있습니다. 그러나 "// td // following-sibling :: img"를 사용하면 여전히 두 번째 및 세 번째 img 요소를 반환 할 수 있습니다. 제가 아는 한, 자녀와 형제는 서로 다른 두 가지입니다. 그렇다면 왜 이런 일이 발생합니까?
URL : http://demo.guru99.com/selenium/guru99home/
<div class="rt-grid-12 rt-alpha rt-omega" id="rt-feature">
<div class="rt-grid-6 ">
<div class="rt-block">
<h3>
Desktop, mobile, and tablet access</h3>
<ul>
<li>
<p>
Free android App</p>
</li>
<li>
<p>
Download any tutorial for free</p>
</li>
<li>
<p>
Watch video tutorials from anywhere </p>
</li>
</ul>
<p>
<a href="https:/play.google.com/store/apps/details?id=com.vector.guru99&hl=en"><img alt="" src="images/app_google_play(1).png"></a></p>
</div>
</div>
<div class="rt-grid-5 ">
<div class="rt-block">
<img src="images/logo_respnsivsite.png"><br>
</div>
</div>
</div>
여기
, 내가 사용하는 경우 "// DIV [ID = 'RT-기능'과 @ (@ 클래스 = 'RT-그리드-12 RT-알파 RT-오메가')] // following-sibling :: div "인 경우 자식 요소 여야하는 해당 div 요소는 여전히 형제로 집계됩니다.
"// div [@ id = 'rt-feature'및 (@ class = rt-grid-12 rt-alpha rt-omega ')] // parent :: div "인 경우, self 요소와 그 자식 div 요소는 모두 부모로 계산됩니다.
나 원인이 많은 혼란, 저를 도와주세요.
첫 번째 경우에 올바른 XPath는 TD 이후 단 하나의 슬래시가 있어야합니다 -'// TD/다음 - 형제 :: img'합니다. 아무것도 반환하지 않습니다. 전문가, 두 개의 슬래시로 그러한 동작을 설명 할 수 있기를 바랍니다. – splash58