0

類似した2つの動的ドロップダウンリストがあり、2番目のドロップダウンリストから選択できません。以下はhtmlです:

<div id="list" class="x-list">
<div id="list-list" class="x-list-list-ct">
<ul>
<li class="x-item" role="option">US Dollar - USD</li> 
<li class="x-item x-list-selected x-list-item-over" role="option">Afghan Afghani - AFN</li> //<--this is my 1st selection from 1st dropdown list
<li class="x-item" role="option">Albanian Lek - ALL</li>
<li class="x-item" role="option">Algerian Dinar - DZD</li>
<li class="x-item" role="option">Angolan Kwanza - AOA</li>
<li class="x-item" role="option">Argentine Peso - ARS</li>
</ul>
</div>
</div>

<div id="list" class="x-list">
<div id="list-list" class="x-list-list-ct">
<ul>
<li class="x-item x-list-selected x-list-item-over" role="option">US Dollar - USD</li> //<--this is my default hover selection
<li class="x-item" role="option">Afghan Afghani - AFN</li> 
<li class="x-item" role="option">Albanian Lek - ALL</li>
<li class="x-item" role="option">Algerian Dinar - DZD</li>
<li class="x-item" role="option">Angolan Kwanza - AOA</li>
<li class="x-item" role="option">Argentine Peso - ARS</li>
</ul>
</div>
</d

要素を選択またはホバーすると、クラス名が「x-itemx-list-selectedx-list-item-over」に変わります。

最初のリストには、driver.findElement(By.xpath( "// li [text()[contains(。、'Afghan Afghani --AFN')]]"))。click();を使用します。

2番目のリストに対して同じことを行うと、要素は選択されますが、リストは閉じません。

4

3 に答える 3

0

これらのxpathを試してください。最初のdivに1を使用し、2番目のdivに2を使用します。

"//div[@id='list'][1]//li[text()='Afghan Afghani - AFN']"

または "//li[text()='Afghan Afghani - AFN'][1]"
および "//li[text()='Afghan Afghani - AFN'][2]"

ページ上の他の要素を操作するとリストが自動的に閉じると思います。たとえば、別の要素(ボタンなど)に空白を送信して、リストのフォーカスが失われ、自動的に閉じられるようにします。

于 2012-12-28T19:14:03.167 に答える
0

このようにしてみてください

最初のリストから選択する場合

driver.findElement(By.xpath("//div[1]/div/ul/li[text()='Afghan Afghani - AFN']")).click();

2 番目のリストから選択する場合

driver.findElement(By.xpath("//div[2]/div/ul/li[text()='Afghan Afghani - AFN']")).click();
于 2012-12-27T17:37:12.440 に答える
0

このコードのようなものを使用してみてください

 (//div[@id='list'])[1]
于 2015-07-16T08:33:58.050 に答える