2016-07-15 15 views
2
<document> 
<html class=" js " lang="en" style="" xmlns="http://www.w3.org/1999/xhtml"> 
<head id="head"> 
<body class="modern operational"> 
<div class="row btm16"> 
<div class="col-xs-30"> 
<label>Adjust To </label> 
</div> 
<span id="pb33352:eastFieldForm:j_idt2056:adjInputTextPanel"> 
<input id="pb33352:eastFieldForm:j_idt2056:newValueNumber" class="form-control" type="text" maxlength="11" name="pb33352:eastFieldForm:j_idt2056:newValueNumber"/> 
<span> 
<span id="pb33352:eastFieldForm:j_idt2056:adjustToUnit"/> 
</span> 
</span> 
<div class="col-md-40"/> 
<span id="pb33352:eastFieldForm:j_idt2056:errorMessages"/> 
</div> 
</body> 
</html> 
</document> 

Ich habe diese oben einfache Seite mit einem Label und einem Textfeld. Ich möchte Text in das Textfeld eingeben.Xpath Verbesserung

Die XPATH, die mir helfen wird, istI.

Mit der obigen Lösung bin ich nicht glücklich mit der Verwendung von mehreren //.. in der Mitte. Gibt es eine bessere Möglichkeit, diese XPATH zu bekommen.

Bitte beachten Sie, ich brauche xpath zu finden, indem Text zu finden, "Adjust To"

+0

In der Tat '// ..' ist eine sehr seltsame Sache zu schreiben. Es bedeutet "/ abcendant-or-self :: node()/parent :: node()", d. H. Es handelt sich um die Vereinigung Ihres eigenen Elternknotens mit allen Nicht-Leaf-Nachkommen. –

Antwort

2

ich die following axis verwenden würde:

//label[normalize-space(.) = 'Adjust To']/following::input 

Alternativ denke ich mit dem "adjInputTextPanel" Teil der id ist auch gut genug Locator:

//span[contains(@id, 'adjInputTextPanel')]/input 
2

Sie wie unten durch die Verwendung preceding Achsen ausprobieren können: -

//input[preceding::label[normalize-space(.) = 'Adjust To']] 
+0

Das OP notiert ausdrücklich _ "Ich muss Xpath finden, indem ich Text finde" Adjust To "" _ –

+0

@Slanec Sorry ... Ich habe nicht gesehen ... jetzt habe ich aktualisiert ... :) –

0

Danke Jungs für die obige Lösung und es hilft.

Ich versuchte auch Wege von meinem Ende als auch und fand unter einem, um hilfreich zu sein.

//label[contains(.,'Adjust To')]/following::input[1]