2017-04-05 9 views
0

その特定のオプションのリストに表示されているオプションをクリックしたいと思いますが、できません。地理グループはフィルタで、ドロップダウンアイコンを見ることができるほか、そのアイコンをクリックした後には、'APAC Delivery Center''GU'の2つのオプションが表示されます。私は画像を添付しています。以下は
enter image description hereドロップダウンがセレニウムのJavaで動作しない

enter image description here

私のUIコードです:

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

は、ドロップダウンアイコンの私のコードです:

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

私はコードの下に使用してみましたが、それでも私の問題があります解決しない:

以下は10
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(); 

私はその非常に複雑なので、それを把握するために私の最善を尽くしUIコード:

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

私は、ドロップダウンアイコンをクリックすることはできませんよ場合でも、その後も、それは.Iを行いますすることができますその地理的グループの前にある空白の領域をクリックしてください。それでも表示されるオプションのリストは表示されます。私は検査その空白領域のための
UIのコードは次のとおりです。

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

は、この問題を解決するために私を助けてくださいか、この上でより多くの明快さが必要な場合は私に知らせてください。ドロップダウンからいくつかの値を選択する場合のおかげで、事前に:)

+0

どちら、私は私があなたのHTMLには何も見えません – kushal

+0

3つの異なるものを見ることができますclass 'QvGrid'これはあなたが上に貼り付けたHTMLから逃したものか、xpathのエラーですか? – Jsmith2800

+0

質問を編集しました。私の場合、これを行うにはどうすればいいですか?それ以上の明確さが必要な場合は、 –

答えて

0

はあなたに私を助けるために皆に感謝し、私は、コードの下に使用して私の答えを解く:ドロップダウンで

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

その後、私は、これはドロップダウン<div title="" class="cell-icon cell-ODDC-icon"></div>のあなたの道であると仮定していますここSelect class

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

を利用します。これが正しい場合は、このようなことを書くことができます。

APAC Delivery Centerたりしたい方GUでドロップダウンから選択することが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;']"))値でドロップダウンXPathを交換してください。

+0

を教えてください。あなたはそれを私に助けてくれますか?それは非常に有用だろう –

+0

私はドロップダウンのパスを含むHTMLを提供することができますし、あなたが提供したHTMLは非常に明確ではないので、それを強調表示してください、私はドロップダウンリストのxpathを見つけることができない上記のHTMLが提供されます。 –

+0

あなたの解決策は私のために働いていませんでした。その地域やアイコンをクリックしないでください。私は私の質問を更新しました。あなたがまだ詳細を知りたい場合はお知らせください。実際にはUIは非常に複雑ですが、私はまだベストを尽くしています –

関連する問題