一尘不染

selenium选择-按文本的一部分选择下拉选项

selenium

Selenium
Select
类具有3种不同的选项选择方法:

  1. selectByIndex
  2. selectByValue
  3. selectByVisibleText

现在,我遇到一种情况,我想通过一些 部分 显示在选项可见文本之一中的文本来选择一个选项(不想让自己暴露在整个文本中)。

例如:

<option value="0" label="not-intresting">VERY-LONG-TEXT-THAT-I-NEED-TO-SELECT-DOLLAR</option>

我只想通过提供“ DOLLAR”来选择此选项,例如:

select.selectByPartOfVisibleText("DOLLAR")

您将如何有效地实施它?


阅读 410

收藏
2020-06-26

共1个答案

一尘不染

您可以尝试这样的逻辑,希望对您有所帮助

List <WebElements> optionsInnerText= driver.findElements(By.tagName("option"));
for(WebElement text: optionsInnerText){
    String textContent = text.getAttribute("textContent");
    if(textContent.toLowerCase.contains(expectedText.toLowerCase))
           select.selectByPartOfVisibleText(expectedText);
    }
}
2020-06-26