java - Selenium Select - 通过部分文本选择下拉选项

标签 java selenium selenium-webdriver webdriver selenium-chromedriver

类(class)Selenium Select有3种不同的选项选择方法:

  1. 按索引选择
  2. 按值选择
  3. selectByVisibleText

现在,我有一种情况,我想通过一些部分出现在其中一个选项可见文本中的文本来选择一个选项(不想让自己暴露在整个文本的变化中).

例如:

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

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

select.selectByPartOfVisibleText("DOLLAR") 

您将如何有效地实现它?

最佳答案

我的解决方案是使用 xpath 查找作为选择的子项的选项。可以使用任何 xpath 方法来查找选择;在这个例子中,我找到了按 id 进行选择。

List<WebElement> options = driver.findElements(By.xpath("//select[@id = 'selectId')]/option"));

for (WebElement option : options) {
    if (option.getText().contains("DOLLAR")) {
        option.click();
        break;
    }
}

经过深思熟虑,我意识到可以完全使用 xpath 找到该选项:

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

关于java - Selenium Select - 通过部分文本选择下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29772075/

相关文章:

javascript - 无法按类 Selenium 亚马逊找到元素

selenium - Firefox - 使用 Selenium 隐藏浏览器框架

python - 键盘无法访问 Selenium 元素

Python 和 BeautifulSoup 4/Selenium - 无法从 kicksusa.com 获取数据?

java - 如何从 proc_open 保存进程资源以便稍后检查状态?

java - 在 Activity 之间传递整数值 - Android

php - 重新启动失败的Selenium浏览器

java - Selenium : best way to tackle a dynamically changing page?

java - 替换 Java Bean 的 instanceof

java - 访问安全系统设置