2017-04-05 2 views
0

Je veux cliquer sur l'option qui est affichée dans la liste de cette option particulière mais je ne suis pas capable de le faire. Groupe géographique est le filtre, en plus de cela, vous serez en mesure de voir l'icône de la liste déroulante et après avoir cliqué sur cette icône, je devrais être en mesure de voir montré deux options i.e 'APAC Delivery Center' et 'GU'. J'ai des images attachées.
enter image description hereLa liste déroulante ne fonctionne pas en sélénium java

enter image description here

Ci-dessous est mon code de l'interface utilisateur:

<div owner = "71"style="z-index: 666; left: 602px; top: 153px; width: 208px; height: 30px; position: absolute;"id="DS"class="QvFrame DS"> 
    <div style = "height: 28px; width: 206px;"class="QvContent"> 
    <div incontainer = "false"style="visibility: visible; position: relative; overflow: hidden; cursor: default; font-weight: normal; font-family: Arial; font-size: 8pt; font-style: normal; text-decoration: none; height: 28px; width: 206px;"objtype="Listbox"class="QvListbox"> 
    <div style="position: relative; overflow: hidden; width: 206px; height: 28px;"><div class="QvOptional" title="APAC Delivery Center" unselectable="on" style="text-align: left; font-style: normal; font-weight: normal; text-decoration: none; cursor: pointer; position: absolute; overflow: hidden; left: 0px; top: 0px; width: 206px; height: 14px;"> 
    <div unselectable = "on"style="position: absolute; z-index: 1; border-width: 0px 1px 1px 0px; border-style: solid; border-color: rgb(220, 220, 220); left: 0px; top: 0px; width: 205px; height: 13px;"></div> 
    <div title = "APAC Delivery Center"unselectable="on"style="padding: 0px; width: 206px; height: 14px; white-space: pre;"> 
    <div unselectable = "on"style="width: 2px; float: left; height: 14px; overflow: hidden; word-wrap: normal; white-space: pre;"></div> 
    <div unselectable = "on"style="width: 202px; float: left; height: 14px; overflow: hidden; word-wrap: normal; white-space: pre;"> 
    APAC Delivery Center</div></div></div> 
    <div class="QvOptional"title="GU"unselectable="on"style="text-align: left; font-style: normal; font-weight: normal; text-decoration: none; cursor: pointer; position: absolute; overflow: hidden; left: 0px; top: 14px; width: 206px; height: 14px;"> 
    <div unselectable = "on"style="position: absolute; z-index: 1; border-width: 0px 1px 1px 0px; border-style: solid; border-color: rgb(220, 220, 220); left: 0px; top: 0px; width: 205px; height: 13px;"></div> 
    <div title = "GU"unselectable="on"style="padding: 0px; width: 206px; height: 14px; white-space: pre;"> 
    <div unselectable = "on"style="width: 2px; float: left; height: 14px; overflow: hidden; word-wrap: normal; white-space: pre;"></div> 
    <div unselectable = "on"style="width: 202px; float: left; height: 14px; overflow: hidden; word-wrap: normal; white-space: pre;">GU</div></div></div></div> 
    <div style = "display: none; opacity: 1; right: auto; bottom: auto; transition-timing-function: cubic-bezier(0, 0.3, 0.6, 1); transition-property: -moz-transform; border-radius: 3px; width: 9px; height: 9px; background-color: rgb(221, 221, 221);"class="TouchScrollbar"></div> 

ci-dessous est mon code pour l'icône de menu déroulant:

<div title="" class="cell-icon cell-ODDC-icon"></div> 

J'ai essayé d'utiliser ci-dessous le code mais mon problème est non résolu:

driver.findElement(By 
        .xpath("//div[@class='QvGrid'][@style='position: absolute; border-left: 0px solid rgb(255, 255, 255); border-right: 2px solid rgb(210, 210, 210); border-bottom: 1px solid rgb(255, 255, 255); left: 0px; top: 0px; width: 11px; height: 13px;']")) 
        .click(); 

ci-dessous est le code UI que j'ai essayé de mon mieux pour le comprendre depuis son très complexe:

<div objtype="Grid" objsubtype="MB" style="z-index: 68; top: 92px; left: 390px; width: 422px; height: 219px; border-radius: 7px; border: 1px solid rgb(232, 232, 232);" id="180" class="QvFrame Document_MB18"> 
<div style="height: 217px; width: 420px; border-radius: 6px; background-color: rgb(255, 255, 255); overflow: visible;" class="QvContent"> 
<div incontainer="false" style="position: relative; overflow: hidden; cursor: default; font-weight: normal; font-family: Arial; font-size: 8pt; font-style: normal; text-decoration: none; width: 420px; height: 217px;" class="QvGrid"> 
<div style="position: relative; overflow: hidden; width: 408px; height: 205px;"> 
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; width: 0px; height: 0px;"> 
<div class="page" page="0" style="position: absolute; height: 100%; transform: translate(0px, 0px);"></div></div> 
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; width: 0px; height: 205px;"> 
<div class="page" page="0" style="position: absolute; height: 224px; transition-timing-function: cubic-bezier(0, 0.3, 0.6, 1); transition-property: -moz-transform; transition-duration: 0ms; transform: translate(0px, 0px);"></div></div> 
<div style="position: absolute; overflow: hidden; left: 0px; top: 205px; width: 0px; height: 0px;"> 
<div class="page" page="0" style="position: absolute; height: 100%; transform: translate(0px, 0px);"></div></div> 
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; width: 408px; height: 0px;"> 
<div class="page" page="0" style="position: absolute; height: 100%; transition-timing-function: cubic-bezier(0, 0.3, 0.6, 1); transition-property: -moz-transform; transition-duration: 0ms; transform: translate(0px, 0px);"></div></div> 
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; width: 408px; height: 205px;"> 
<div class="page" page="0" style="position: absolute; height: 224px; transition-timing-function: cubic-bezier(0, 0.3, 0.6, 1); transition-property: -moz-transform; transition-duration: 0ms; transform: translate(0px, 0px);"> 
<div unselectable="on" style="background-color: rgb(255, 255, 255); color: rgb(54, 54, 54); text-align: left; font-style: normal; font-weight: normal; text-decoration: none; cursor: pointer; position: absolute; overflow: hidden; left: 0px; top: 0px; width: 198px; height: 14px;" title="Geographic Group"> 
<div unselectable="on" style="position: absolute; border-right: 1px solid rgb(255, 255, 255); border-bottom: 1px solid rgb(255, 255, 255); left: 0px; top: 0px; width: 197px; height: 13px;"></div> 
<div class=" injected" style="padding: 0px 2px; width: 194px; height: 14px;"> 
<div title="Geographic Group" unselectable="on" style="width: 194px; white-space: pre; overflow: hidden; word-wrap: normal;">Geographic Group</div></div></div> 
<div unselectable="on" style="background-color: rgb(255, 255, 255); color: rgb(54, 54, 54); text-align: left; font-style: normal; font-weight: normal; text-decoration: none; cursor: pointer; position: absolute; overflow: hidden; left: 198px; top: 0px; width: 13px; height: 14px;" title=""> 
<div unselectable="on" style="position: absolute; border-left: 0px solid rgb(255, 255, 255); border-right: 2px solid rgb(210, 210, 210); border-bottom: 1px solid rgb(255, 255, 255); left: 0px; top: 0px; width: 11px; height: 13px;"></div> 
<div class=" injected" style="padding: 0px 2px; width: 9px; height: 14px;"><div style="width: 9px;"><div class="Qv_CellIcon_right" style="width: 14px; height: 13px; max-width: 9px; max-height: 13px;"><div title="" class="cell-icon cell-ODDC-icon"></div></div></div></div></div><div unselectable="on" style="background-color: rgb(248, 248, 248); color: rgb(54, 54, 54); text-align: center; font-style: normal; font-weight: normal; text-decoration: none; cursor: pointer; position: absolute; overflow: hidden; left: 211px; top: 0px; width: 208px; height: 14px;" title=""> 

Même si je ne suis pas en mesure de cliquer sur cette icône déroulant puis aussi il le fera .I peut cliquez sur cette zone vide en face de ce groupe géographique et encore il montrera la liste des options.
code interface utilisateur pour cette zone vide que j'expertisé:

<div unselectable="on" style="position: absolute; border-left: 0px solid rgb(210, 210, 210); border-bottom: 1px solid rgb(210, 210, 210); left: 0px; top: 0px; width: 208px; height: 13px;"></div> 

S'il vous plaît aidez-moi à résoudre ce ou si vous avez besoin de plus de clarté sur ce s'il vous plaît laissez-moi savoir. Merci d'avance :)

+0

Lequel est un menu déroulant, je peux voir 3 choses différentes – kushal

+0

Je ne vois rien dans votre code HTML avec le class 'QvGrid' Est-ce quelque chose que vous avez manqué du code HTML que vous avez collé ci-dessus, ou une erreur dans le xpath? – Jsmith2800

+0

J'ai modifié ma question. S'il vous plaît passer par là et si plus de clarté est nécessaire s'il vous plaît laissez-moi savoir –

Répondre

0

Merci à tous pour me aider, mais je résolu ma réponse ci-dessous en utilisant le code suivant:

driver.findElement(By 
        .xpath("//div[@unselectable='on'][@style='position: absolute; border-left: 0px solid rgb(210, 210, 210); border-bottom: 1px solid rgb(210, 210, 210); left: 0px; top: 0px; width: 208px; height: 13px;']")) 
        .click(); 
      Thread.sleep(5000); 
      driver.findElement(By 
        .xpath("//div[@unselectable='on'][@style='position: absolute; z-index: 1; border-width: 0px 1px 1px 0px; border-style: solid; border-color: rgb(220, 220, 220); left: 0px; top: 0px; width: 205px; height: 13px;']")) 
        .click(); 
0

Si vous souhaitez sélectionner une valeur dans la liste déroulante puis faire usage de Select class

Select drp = new Select("xpath of dropdown"); 
Thread.sleep(5000); 
drp.selectByVisibleText("value to be selected from dropdown"); 

ici, je suis en supposant que ceci est votre chemin de menu déroulant <div title="" class="cell-icon cell-ODDC-icon"></div>. Si cela est juste alors vous pouvez écrire quelque chose comme ça.

XPath de remplacer par menu déroulant driver.findElement(By.xpath("//div[@unselectable='on'][@style='position: absolute; border-left: 0px solid rgb(210, 210, 210); border-bottom: 1px solid rgb(210, 210, 210); left: 0px; top: 0px; width: 208px; height: 13px;']")) et valeur à sélectionner dans la liste déroulante par APAC Delivery Center ou GU selon ce que vous voulez.

+0

comment le faire dans mon cas? Pouvez-vous m'aider . Ce serait très utile –

+0

Pouvez-vous me fournir le html qui contient le chemin pour la liste déroulante, et s'il vous plaît le mettre en évidence, parce que le html que vous avez fourni n'est pas très clair, je ne peux pas trouver le xpath de votre liste déroulante utilisant le ci-dessus html fourni. –

+0

votre solution n'a pas fonctionné pour moi. Ne pas cliquer sur cette zone ou icône. J'ai mis à jour ma question. S'il vous plaît laissez-moi savoir si vous voulez encore plus de détails. En fait, l'interface utilisateur est très complexe, mais je fais de mon mieux –