Selenium:从下拉菜单中获取当前值

时间:2010-02-02 09:37:04

标签: drop-down-menu selenium selectedvalue

我正在尝试找到一个简单的Selenium调用来从选择下拉列表中获取当前选项。我知道有些调用会获取列表中的所有值,但我想知道当前选择了哪个选项。抱歉,如果这是微不足道的,但谷歌和Selenium IDE没有帮助我。感谢。

3 个答案:

答案 0 :(得分:5)

您应该能够使用getSelected *命令返回所选项目的ID,索引或标签。以下引用了Selenium Reference:


storeSelectedId(selectLocator,variableName)
获取指定select元素中所选选项的选项元素ID。

参数:

  • selectLocator - 标识下拉菜单的元素定位器
  • variableName - 要存储结果的变量的名称。

返回:指定选择下拉菜单中的所选选项ID


storeSelectedIndex(selectLocator,variableName)
获取指定select元素中所选选项的选项索引(选项编号,从0开始)。

参数:

  • selectLocator - 标识下拉菜单的元素定位器
  • variableName - 要存储结果的变量的名称。

返回:指定选择下拉菜单中的所选选项索引


storeSelectedLabel(selectLocator,variableName)
获取指定select元素中所选选项的选项标签(可见文本)。

参数:

  • selectLocator - 标识下拉菜单的元素定位器
  • variableName - 要存储结果的变量的名称。

返回:指定选择下拉菜单中的所选选项标签

答案 1 :(得分:2)

我会使用storeSelectedValuegetSelectedValue

<强> JUNIT

String value = selenium.getSelectedValue(selectLocator)


Selenium行动

storeSelectedValue ( selectLocator, variableName ) 

答案 2 :(得分:0)

有一个链接可以练习这种事情:

https://letskodeit.teachable.com/p/practice

有一个“选择课程示例”

1。在此测试中,它首先单击下拉菜单中的“本田” 2.然后将选择标签提取为选项标签“ Honda”的父标签 3.然后将其转换为选择对象 4.然后,我使用getFirstSelectedOption()将其与预期值“ Honda”进行比较。

    @Test
    public void selectTagDemo() {
        WebElement hondaElement = webDriver.findElement(By.xpath("//option[@value=\"honda\"]"));
        hondaElement.click();

        WebElement selectCarWebElement = hondaElement.findElement(By.xpath("//parent::select"));
        Select selectCar = new Select(selectCarWebElement);
        Assert.assertEquals(selectCar.getFirstSelectedOption().getText(), "Honda");
    }

如果您需要下面的整个Test类注释