我正在尝试找到一个简单的Selenium调用来从选择下拉列表中获取当前选项。我知道有些调用会获取列表中的所有值,但我想知道当前选择了哪个选项。抱歉,如果这是微不足道的,但谷歌和Selenium IDE没有帮助我。感谢。
答案 0 :(得分:5)
您应该能够使用getSelected *命令返回所选项目的ID,索引或标签。以下引用了Selenium Reference:
storeSelectedId(selectLocator,variableName)
获取指定select元素中所选选项的选项元素ID。
参数:
返回:指定选择下拉菜单中的所选选项ID
storeSelectedIndex(selectLocator,variableName)
获取指定select元素中所选选项的选项索引(选项编号,从0开始)。
参数:
返回:指定选择下拉菜单中的所选选项索引
storeSelectedLabel(selectLocator,variableName)
获取指定select元素中所选选项的选项标签(可见文本)。
参数:
返回:指定选择下拉菜单中的所选选项标签
答案 1 :(得分:2)
我会使用storeSelectedValue
或getSelectedValue
<强> 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类注释