Selenium Select - Selecting dropdown option by part of the text

前端 未结 8 1902
清歌不尽
清歌不尽 2020-12-19 16:57

The class Selenium Select has 3 methods of different option selection:

  1. selectByIndex
  2. selectByValue
  3. selectByVisibleText

Now,

8条回答
  •  别那么骄傲
    2020-12-19 17:40

    My solution is to use xpath to find options that are children of the select. Any xpath method can be used to find the select; in this example I am finding the select by id.

    List options = driver.findElements(By.xpath("//select[@id = 'selectId')]/option"));
    
    for (WebElement option : options) {
        if (option.getText().contains("DOLLAR")) {
            option.click();
            break;
        }
    }
    

    After a little more thought I realize the option can be found entirely with xpath:

    driver.findElements(By.xpath("//select[@id = 'selectId')]/option[contains(text(), 'DOLLAR')]")).click();
    

提交回复
热议问题