我正在尝试找到一个简单的Selenium调用,以从选择下拉列表中获取当前选项。我知道有一些调用可以捕获列表中的所有值,但是我想知道当前选择了哪个选项。抱歉,这很琐碎,但是google和Selenium IDE并没有帮助我。谢谢。
您应该能够使用getSelected *命令返回所选项目的ID,索引或标签。以下引用自《硒参考》:
storeSelectedId(selectLocator,variableName)获取指定选择元素中所选选项的选项元素ID。
参数:
Returns:在指定的选择下拉列表中选择的选项ID
storeSelectedIndex(selectLocator,variableName)获取指定选择元素中所选选项的选项索引(选项号,从0开始)。
参数:
Returns:在指定的选择下拉列表中选择的选项索引
storeSelectedLabel(selectLocator,variableName)获取指定选择元素中所选选项的选项标签(可见文本)。
参数:
Returns:在指定的选择下拉列表中选择的选项标签
我会使用storeSelectedValue
或getSelectedValue
JUNIT
String value = selenium.getSelectedValue(selectLocator)
硒行动
storeSelectedValue ( selectLocator, variableName )
这里有一个练习这类事情的链接:
“ 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类注释