类(class)Selenium Select有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/