Selenium WebDriver sendKeys首先进行部分匹配而不是完全匹配

时间:2018-01-11 17:17:47

标签: selenium selenium-webdriver webdriver

我在选择输入中有一个不完全按字母顺序排列的状态列表,每个状态都有一个邮政缩写作为值(NY,OK等)。我的问题是,当我用纽约做一个sendKeys行时,我的脚本会选择内布拉斯加州 - 列表中的第一个项目以' N'开头。我如何强迫它完全匹配?

return findByCss('div.modal-content md-select').sendKeys('NY');

这是一个示例项目:

<md-option ng-repeat="region in modal.regions" ng-value="region" tabindex="0" class="ng-scope md-ink-ripple" role="option" aria-selected="false" id="select_option_13" aria-checked="true" value="AL" style="">
    <div class="md-text ng-binding">Alabama</div>
</md-option>

1 个答案:

答案 0 :(得分:0)

你的问题有点模糊,但我希望这会对你有所帮助。

    //First click the dropdown then do the following
            List<WebElement> yourListOfCities = driver.findElements(By.className("md-text ng-binding"));
//Loop through to find what you want
            for(int i =0; i<yourListOfCities.size();i++) {
         WebElement ele = yourListOfCities.get(i);
         String x = ele.getText();
         if(x.contains("Thing you want to find")){
             //Click the thing you want
             ele.click();

             System.out.println("Clicked the thing...");