根据selenium中的选项组选择特定选项

时间:2017-05-08 19:57:25

标签: java angularjs selenium

希望这不会是重复的。我在网上搜索但找不到我需要的确切解决方案。我有一个选项组的下拉列表。我需要从下拉列表中选择一个基于输入选项组“Primary Borrower”或“Co-Borrower”的值并继续。你能帮我解决一下如何做到这一点。

dropdown

这是角度代码。

<select name="selected-borrower" id="selected-borrower" data-ng-model="BorrowerCtrl.selected" data-ng-options="borrower.getFullName() group by borrower.getGroup() for borrower in BorrowerCtrl.borrowers | borrowerSort" data-ng-disabled="BorrowerCtrl.selected.updateInProgress" class="ng-pristine ng-valid ng-not-empty ng-touched" aria-invalid="false" style="">
  <optgroup label="Primary Borrower">
    <option label="CLAUDINE G SELSER" value="object:1426" selected="selected">Person One</option>
  </optgroup>
  <optgroup label="Co-Borrower">
    <option label="LEOTA N MACHUCA" value="object:1427">Person Two</option>
  </optgroup>
</select>

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

XPath是解决方案。

WebDriver.findElement(By.xpath("//select[@id='selected-borrower']/optgroup[@label='Primary Borrower']/option")).click();

用简单的英语,这个XPath遍历select元素,其id为“选择借用者”。带有标签&#39;主要借款人&#39;的选择组并选择第一个选项(在这种情况下是标有&#39; CLAUDINE G SELSER&#39;的选项)。你可以修改@label=部分为共同借款人工作,如果这是你想要的。

答案 1 :(得分:0)

您是否尝试过如下所示的Select类:

 Select select = new Select(driver.findElement(By.id("selected-borrower")));
 select.selectByVisibleText("CLAUDINE G SELSER");