2016-06-25 22 views
-1

Ich bin neu in selenium ide. Versuchen, das 2. html-Tag mit Klasse mit demselben Wert zu erhalten.Wie kann ich Xpaths mit Klassen- und HTML-Tag-Position identifizieren

<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> 

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

Aber es funktioniert nicht. Es benötigt immer noch das Eltern-HTML-Tag. Ist es wirklich so?

Dieser arbeitet für mich. ->//div[@class='test'][2]/div/small

Antwort

0

Diese XPaths funktionierten nicht, weil sie falsch sind.

Wenn Sie das class Attribut bemerken, gibt es ein Leerzeichen und dann wieder Text, den Sie weggelassen haben. Das ist der Grund, warum es nicht funktioniert.

Wechsel von: //small[@class='jo-date-time'][2]

An:(//small[@class='jo-date-time text-muted'])[2]

enter image description here

Und ich persönlich nicht Index wie verwenden können variieren, wenn Art und Weise zu vermeiden ist.

Hier ist eine andere Art und Weise die Verwendung von Index zu vermeiden:
//small[@class='jo-date-time text-muted' and . = 'Ordered on Jun 22, 2016 ']

+0

Ich versuchte mit (// small [@ class = 'jo-date-time text-stumm']) [2] obwohl es immer noch nicht funktioniert.Der Grund, ich bin usi ng index ist, weil die Daten dynamisch sind und sich ändern können. Ich möchte nur überprüfen, ob sie anwesend sind. Übrigens, sollte es wirklich mit() eingeschlossen sein? –

+0

@LovieT, möchten Sie mehr Details zur Verfügung stellen? Wie benutzt du es? Was ich zur Verfügung gestellt habe ist ein getestetes Ergebnis – Rao

0

Wenn das Element von Klassennamen jo-date-time
Dann versuchen enthält Funktion in XPath befinden soll

+0

Dies funktioniert nicht. – Rao