【发布时间】:2010-02-02 09:37:04
【问题描述】:
我正在尝试找到一个简单的 Selenium 调用来从选择下拉列表中获取当前选项。我知道有些调用会获取列表中的所有值,但我想知道当前选择了哪个选项。抱歉,如果这是微不足道的,但谷歌和 Selenium IDE 并没有帮助我。谢谢。
【问题讨论】:
-
getSelectedValue() 似乎工作正常。
标签: drop-down-menu selenium selectedvalue
我正在尝试找到一个简单的 Selenium 调用来从选择下拉列表中获取当前选项。我知道有些调用会获取列表中的所有值,但我想知道当前选择了哪个选项。抱歉,如果这是微不足道的,但谷歌和 Selenium IDE 并没有帮助我。谢谢。
【问题讨论】:
标签: drop-down-menu selenium selectedvalue
您应该能够使用 getSelected* 命令返回所选项目的 ID、索引或标签。以下引用自 Selenium Reference:
storeSelectedId (selectLocator, variableName)
获取指定选择元素中选定选项的选项元素 ID。
参数:
返回:在指定的选择下拉列表中选择的选项ID
storeSelectedIndex (selectLocator, variableName)
获取指定选择元素中选定选项的选项索引(选项编号,从 0 开始)。
参数:
返回:在指定的选择下拉列表中选择的选项索引
storeSelectedLabel (selectLocator, variableName)
获取指定选择元素中选定选项的选项标签(可见文本)。
参数:
返回:在指定的选择下拉列表中选择的选项标签
【讨论】:
我会使用storeSelectedValue 或getSelectedValue
JUNIT
String value = selenium.getSelectedValue(selectLocator)
硒作用
storeSelectedValue ( selectLocator, variableName )
【讨论】:
有一个链接可以练习这样的事情:
“https://letskodeit.teachable.com/p/practice”
有一个“选择类示例”
1.在这个测试中首先点击下拉菜单中的“Honda” 2.然后提取选择标签作为选项标签“本田”的父级 3. 然后将其转换为 Select 对象 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");
}
如果您需要下面的整个测试类注释
【讨论】: