我试图找到一个简单的 Selenium 调用来从选择下拉列表中获取当前选项。我知道有些调用会获取列表中的所有值,但我想知道当前选择了哪个选项。抱歉,如果这是微不足道的,但谷歌和 Selenium IDE 并没有帮助我。谢谢。
3 回答
您应该能够使用 getSelected* 命令返回所选项目的 ID、索引或标签。以下引用自 Selenium Reference:
storeSelectedId ( selectLocator, variableName )
获取指定选择元素中选定选项的选项元素 ID。
论据:
- selectLocator - 标识下拉菜单的元素定位器
- variableName - 存储结果的变量的名称。
返回: 在指定的选择下拉列表中选择的选项 ID
storeSelectedIndex (selectLocator, variableName)
获取指定选择元素中选定选项的选项索引(选项编号,从 0 开始)。
论据:
- selectLocator - 标识下拉菜单的元素定位器
- variableName - 存储结果的变量的名称。
返回:指定选择下拉列表中的选定选项索引
storeSelectedLabel (selectLocator, variableName)
获取指定选择元素中选定选项的选项标签(可见文本)。
论据:
- selectLocator - 标识下拉菜单的元素定位器
- variableName - 存储结果的变量的名称。
返回:在指定的选择下拉列表中选择的选项标签
我会使用storeSelectedValue
或getSelectedValue
朱尼特
String value = selenium.getSelectedValue(selectLocator)
硒作用
storeSelectedValue ( selectLocator, variableName )
有一个链接可以练习这些事情:
“ 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");
}
如果您需要下面的整个测试类评论