xpath axesメソッドを使うと時々間違ったノードが返ってくることに気付きました。xpath-axesメソッドが間違ったノードを返す
URL:私は2つの例を持っている "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" 軸法により3つのimg要素を選択することができます。しかし、私が "// td // following-sibling :: img"を使うと、2番目と3番目のimg要素を返すことができます。私の知る限りでは、子供と兄弟は別の2つのことですから、なぜこれが起こりますか?
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' rt-grid-12 rt-alpha rt-omega ')] // parent :: div "の場合、self要素とその子div要素はすべて親としてカウントされます。
これは私に混乱の原因が多いので、私を助けてください。
最初のケースの正しいxpathには、td - '// td/following-sibling :: img'の後にスラッシュが1つだけ必要です。それは何も返しません。先生は、このような行動を2つのスラッシュで説明してくれることを願っています。 – splash58