4

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

4

3 回答 3

5

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


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

论据:

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

返回: 在指定的选择下拉列表中选择的选项 ID


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

论据:

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

返回:指定选择下拉列表中的选定选项索引


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

论据:

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

返回:在指定的选择下拉列表中选择的选项标签

于 2010-02-02T12:38:26.317 回答
2

我会使用storeSelectedValuegetSelectedValue

朱尼特

String value = selenium.getSelectedValue(selectLocator)


硒作用

storeSelectedValue ( selectLocator, variableName ) 
于 2010-03-08T11:49:11.880 回答
0

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

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

有一个“选择类示例”

1.在这个测试中,它首先点击下拉菜单中的“Honda” 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");
    }

如果您需要下面的整个测试类评论

于 2019-10-17T10:15:38.090 回答