我有一个网页,我试图从下拉框中选择xpath,默认情况下没有任何值。
<select id="country" class="multi ng-pristine ng-valid ng-empty ng-touched" ng-options="country as country.description for country in vm.countries" ng-change="vm.getDestinations()" ng-model="vm.country" style="">
<option value="?" selected="selected"></option>
<option label="Germany" value="object:589">Germany</option>
<option label="Austria" value="object:590">Austria</option>
<option label="Belgium" value="object:591">Belgium</option>
我尝试过使用Select.selectByVisibleText()但仍未获得。我可以找到国家/地区字段但无法选择特定国家/地区:
public Target selectCountry = Target.the("select country").located(By.xpath("//*[@id=\"app-container\"]/div[1]/span[3]/select[1]"));
请建议。
答案 0 :(得分:0)
我现在可以选择国家。这不是一个宁静的问题。在上一页上执行某些操作后,我进入了此页面。 Actualy我在前一页和当前页面上有两个单独的“When”步骤。当我在单个“When”步骤中合并它们时,它已经开始从当前页面的下拉列表中选择国家/地区。我不知道为什么它没有单独的步骤。
答案 1 :(得分:0)
您可以继承(扩展)PageObject 类以利用预定义的选择类方法,例如 selectByVisibleText、selectByValue 和 selectByIndex。
@FindBy(id="country")
WebElementFacade dropDown_Country
public void selectDropDownValues(){
dropDown_Name.selectByVisibleText("Germany");
}
这可以使用类似任务调用
actor.attemptsTo(Click.on(selectDropDownValues()));