【问题标题】:Cannot select item from drop down in Selenium IDE无法从 Selenium IDE 的下拉列表中选择项目
【发布时间】:2016-05-31 04:34:07
【问题描述】:

我正在编写一个包含下拉列表的 Selenium 脚本。

<select id="seats" class="form-control" name="seats">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="3">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">22</option>
<option value="23">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
</select>

我在堆栈溢出中查看了几个答案以选择一个值表单下拉框,并且每次我都失败了。甚至尝试从 Selenium IDE 获取 xpath。在那种情况下,我对下拉列表和值都获得了相同的相对 XPath。

这是我目前正在使用的代码。

driver.findElement(By.id("seats")).click();
driver.findElement(By.xpath("//form[@id='side-form']/div/div/div/div/div[3]/div/select")).click();

这里我需要选择 4。但是,它选择了 1。

谁能告诉我如何从下拉列表中选择 4。任何帮助将不胜感激。

提前致谢。 :)

【问题讨论】:

    标签: selenium xpath drop-down-menu


    【解决方案1】:

    您的下拉列表中有 2 个具有相同值的选项,这有点尴尬。无论如何,这是一种可能的 XPath,它将从下拉列表中返回特定值的最后一个 optionid 等于“座位”:

    driver.findElement(By.xpath("//select[@id='seats']/option[@value='3'][last()]")).click();
    

    【讨论】:

    • 这就是我想要的。非常感谢:)
    【解决方案2】:

    请尝试以下示例

    new Select(driver.findElement(By.id("seats"))).selectByValue("4");
    

    编辑

    WebElement select = driver.findElement(By.id("seats"));
     List<WebElement> allOptions = select.findElements(By.tagName("option"));
     for (WebElement option : allOptions) {
            if(option.getText().equals("4")){
               option.click();
            }
     }
    

    【讨论】:

    • 错误调用构造函数 Select(WebElement) 未定义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 2022-12-15
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多