2016-06-25 8 views
-1

私はselenium ideを初めて使用しています。同じ値のクラスで2番目のhtmlタグを取得しようとしています。クラスとHTMLタグの位置を使用してXpathを特定する方法

<div class="test"> 
<div> 
<small class="jo-date-time text-muted">Ordered on Jun 23, 2016 </small> 
</div> 
</div> 
<div class="test"> 
<div> 
<small class="jo-date-time text-muted">Ordered on Jun 22, 2016 </small> 
</div> 
</div> 

class=jo-date-time[2] and //small[@class='jo-date-time'][2]

しかし、動作しません。それでも親のhtmlタグが必要です。それは本当にそれのようなものですか?

これは私のために働く。 - >//div[@class='test'][2]/div/small

答えて

0

これらのxpathは正しくないため動作しませんでした。

class属性に気付いた場合、省略したスペースと空白があります。それがうまくいかない理由です。

変更から:(//small[@class='jo-date-time text-muted'])[2]

enter image description here

そして、私は個人的に回避する方法がある場合は異なる可能性があることなどのインデックスを使用しないでください: //small[@class='jo-date-time'][2]

へ。ここで

は、インデックスの使用を回避する別の方法です:
//small[@class='jo-date-time text-muted' and . = 'Ordered on Jun 22, 2016 ']

+0

私はまだ働いていませんが、私は(//小さな[@ class = 'jo-date-time text-muted'])[2]データが動的で変更される可能性があるためです。私はちょうど彼らが存在するかどうかを確認したい。 ところで、本当に()で封じ込められるのですか? –

+0

@LovieT、詳細を提供しますか?どのようにそれを使用していますか?私が提供したのはテスト結果です – Rao

0

要素がは、XPathで機能が含まれてみてくださいそして、JO-日時
クラス名で位置する場合

//small[contains(@class,'jo-date-time')][2] 
+0

これは動作しません。 – Rao

関連する問題