2016-08-02 1 views
0

La balise de sélection Html contient l'ID. J'ai utilisé id dans le chemin relatif et test dans firepath en cliquant sur evaluer button.firepath ne renvoie qu'un seul nœud correspondant mais la case select n'est pas surlignée. Il est clairement dit que la boîte de sélection ne sera pas manipuler. J'ai essayé de plusieurs façons et ne m'a pas aidé. S'il vous plaît trouver la balise html sur ci-dessousWebDriver: le chemin X relatif ne met pas en surbrillance la zone de sélection lorsque je clique sur le bouton d'évaluation dans le chemin de feu

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

Je l'ai utilisé divers statments et d'attente explict mais ne fonctionne pas à remédier de cette question. S'il vous plaît aidez-moi à surmonter ce problème

+0

Avez-vous vérifié si l'élément est contenu dans un iframe? Aussi, vous pouvez essayer avec le css suivant: input [id * = myForm] [id * = operatingUnit] – lauda

+0

il n'est pas à l'intérieur du cadre. la taille s'affiche correctement. system.out.println (weblement.getOptions(). Size) Il renvoie la taille 4 – Ashok

Répondre

1

Comment Select est censé afficher? Dans HTML code, je peux voir la css property comme: -

style="display:none;" 

En raison de cette propriété l'élément n'est pas affiché sur la page Web. Quel est le problème ici?

Si vous supprimez cette propriété CSS, l'élément sera affiché sur la page Web et il sera surligné en utilisant le xpath que vous avez utilisé.

Si vous voulez toujours interagir avec l'élément, vous devez modifier la propriété css de l'élément, ci-dessous est le code pour modifier que: -

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

Une fois la modification de la Select serait affiché et alors vous pouvez interagir avec lui.

+0

son application client. Nous ne pouvons pas apporter de modifications à la partie du tag html. Y a-t-il un autre moyen de gérer le webdriver? – Ashok

+0

J'ai modifié ma réponse. – Paras