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

问题描述 投票:4回答:3

我正在尝试找到一个简单的Selenium调用,以从选择下拉列表中获取当前选项。我知道有一些调用可以捕获列表中的所有值,但是我想知道当前选择了哪个选项。抱歉,这很琐碎,但是google和Selenium IDE并没有帮助我。谢谢。

drop-down-menu selenium selectedvalue
3个回答
5
投票

您应该能够使用getSelected *命令返回所选项目的ID,索引或标签。以下引用自《硒参考》:


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

参数:

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

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


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

参数:

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

Returns:在指定的选择下拉列表中选择的选项索引


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

参数:

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

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


2
投票

我会使用storeSelectedValuegetSelectedValue

JUNIT

String value = selenium.getSelectedValue(selectLocator)

硒行动

storeSelectedValue ( selectLocator, variableName ) 

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类注释

© www.soinside.com 2019 - 2024. All rights reserved.