我正在研究selenium webdriver,我想出了一个特定的场景。 有一个下拉列表,用户选择其中一个值(文本)。选定的值(文本)现在显示在下拉字段中。
我想知道如何从该元素(div)中提取文本,然后使用所选值(文本)断言。
元素的HTML是:
<div class="kac-entry kac-select kac-display ng-binding" ng-click="toggleDropdown()" ng-hide="shouldShowPlaceholder()" ng-class="{btn: btnStyle, 'btn-primary': btnStyle}" style=""> ^NYA (NYSE COMPOSITE INDEX (NEW METHOD)) </div>
上述元素的xpath是:
//price-trigger[@class='ng-isolate-scope']/div/div[2]/div[1]/div[1]/k-select/div/div[1]
HTML元素中的文本是^ NYA(纽约证券交易所综合指数(新方法))。我想获得这个标题并检查这是否是用户实际选择的选项(值)。
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
将WebElement包装到Select Object中,如下所示
Select select = new Select(driver.findElement(By.id("groupSelect")));
如果你想通过xpath选择
By.xpath("//price-trigger[@class='ng-isolate-scope']/div/div[2]/div[1]/div[1]/k-select/div/div[1]")
Assert.assertEquals("Please select any option...", select);
语法:
String selectedOption = new Select(driver.findElement(By.xpath("Type the xpath of the drop-down element"))).getFirstSelectedOption().getText();
Assert.assertEquals("Please select any option...", selectedOption);
详细介绍如何从下拉列表中选择值
<html>
<body>
<select id = "designation">
<option value = "MD">MD</option>
<option value = "prog"> Programmer </option>
<option value = "CEO"> CEO </option>
</option>
</select>
<body>
</html>
现在确定下拉列表
Select dropdown = new Select(driver.findElement(By.id("designation")));
要选择其选项,请说“程序员”,您可以
dropdown.selectByVisibleText("Programmer ");
或
dropdown.selectByIndex(1);
或
dropdown.selectByValue("prog");