2016-08-02 72 views
0

Html wählen Tag enthält ID. Ich habe ID im relativen Pfad verwendet und in FirePath getestet, indem ich auf evaluate button geklickt habe. Firepath gibt nur einen übereinstimmenden Knoten zurück, aber das Auswahlfeld ist nicht markiert. Es sagt deutlich, dass die Auswahlbox nicht handle. Ich habe es auf viele Arten versucht und mir nicht geholfen. Hier finden Sie den HTML-Tag auf unterWebDriver: Relative Xpath ist nicht Hervorhebung Wählen Sie das Feld, wenn ich auf Auswertung Schaltfläche in Feuerpfad klicken

<select id="myForm:operatingUnit" class="ef-combo-container" style="display:none;" name="myForm:operatingUnit"> 
<option value="-1">Please Select</option> 
<option value="702">Industrial Casualty</option> 
<option value="703">General Casualty</option> 
<option value="704">Specialty Primary</option> 
</select> 
<input id="myForm:operatingUnit_input" class="combo-input ui-autocomplete-input" value="Please Select" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" title="Please Select"/> 

Please find the relative xpath on below: 
//select[@id='myForm:operatingUnit'] 

ich auch verschiedenen explict Warte statments verwendet habe, aber nicht von diesem Problem zu überwinden ausarbeitet. Bitte helfen Sie mir, von diesem Problem zu überwinden

+0

Haben Sie überprüft, ob das Element in einem Iframe enthalten ist? Sie können auch mit dem folgenden CSS versuchen: Eingabe [ID * = MyForm] [ID * = OperatingUnit] – lauda

+0

Es ist nicht innerhalb des Rahmens. Größe wird korrekt angezeigt. system.out.println (weblement.getOptions(). Größe) Es gibt Größe wie 4 – Ashok

Antwort

1

Wie soll Select angezeigt werden? In HTML Code kann ich die css property wie sehen: -

style="display:none;" 

Aufgrund dieser Eigenschaft wird das Element nicht auf der Webseite angezeigt. Was ist das Problem hier? Wenn Sie diese CSS Eigenschaft entfernen, wird das Element auf der Webseite angezeigt und mit der von Ihnen verwendeten xpath markiert.

Wenn Sie wollen immer noch mit dem Element interagieren, haben Sie die CSS-Eigenschaft des Elements zu ändern, unter dem Code ist, dass zu ändern: -

WebElement element = driver.findElement(By.id("myForm:operatingUnit")); 
((JavascriptExecutor)driver).executeScript("arguments[0].setAttribute('style', arguments[1]);", element, "display:unset;"); 

Sobald seine modifiziert, um die Select angezeigt würde und dann kannst du damit interagieren.

+0

ist eine Client-Anwendung. Wir können keine Änderungen im HTML-Tag vornehmen. Gibt es eine andere Möglichkeit, mit dem Webdriver umzugehen? – Ashok

+0

Ich habe meine Antwort geändert. – Paras