Selenium webdriver 两个类似的动态下拉列表选择selenium web驱动程序
我有两个类似的动态下拉列表,我无法从第二个下拉列表中进行选择。以下是html:Selenium webdriver 两个类似的动态下拉列表选择selenium web驱动程序,selenium-webdriver,Selenium Webdriver,我有两个类似的动态下拉列表,我无法从第二个下拉列表中进行选择。以下是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-i
<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
美元-美元
- 阿富汗-阿富汗
用于从第一个列表中选择
driver.findElement(By.xpath("//div[1]/div/ul/li[text()='Afghan Afghani - AFN']")).click();
用于从第二个列表中选择
driver.findElement(By.xpath("//div[2]/div/ul/li[text()='Afghan Afghani - AFN']")).click();
尝试这些xpath,第一个div使用1,第二个div使用2
"//div[@id='list'][1]//li[text()='Afghan Afghani - AFN']"
或
“//li[text()='Afghani-AFN'][1]”
和“//li[text()='Afghani-AFN'][2]”
我认为当您与页面上的其他元素交互时,列表将自动关闭,因此,例如,尝试向另一个元素发送一个空格(如按钮),使列表失去焦点并自行关闭。尝试使用类似于此代码的代码
(//div[@id='list'])[1]
div元素是动态的,所以我不能依赖它们。您是否尝试过在没有第二个下拉选择的情况下进行调试?在您对另一个元素执行操作(在本例中为第二个下拉列表)之前,第一个下拉列表也可能不会关闭。请尝试以下任一操作:1.)尝试为第一个下拉列表选择一个选项,而不选择第二个,然后查看列表是否关闭。2.)尝试更改选择顺序,例如在与第一个下拉菜单交互之前,在第二个下拉菜单上执行操作。第2项有效,那么您可能只需要在之后关注/与另一个元素交互。