列表中的值与我的字符串不匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表中的值与我的字符串不匹配相关的知识,希望对你有一定的参考价值。
我正在尝试从以下代码中为一个州选择一个自动完成下拉列表,但观察到以下问题。
- 我已要求选择value =“ United States”,但其选择了阿尔巴尼亚
- 它引发陈旧元素异常。
我不知道发生了什么。
void selectFromDropdown(WebElement webName, String valtoSelect){
WebElement dropdown = webName;
dropdown.click(); // assuming you have to click the "dropdown" to open it
List<WebElement> options = dropdown.findElements(By.tagName("li"));
for (WebElement option : options)
{
if (option.getText().equals(valtoSelect))
{
option.click(); // click the desired option
}
break;
}
}
答案
如果这些选项在html中可用,则可以通过以下三种方式从下拉菜单中选择一项:
@Test(testName = "select by tekst")
public void selectByVisibleTekst(){
WebElement country= driver.findElement(By.xpath("locatorValue"));
new Select(country).selectByVisibleText("tekstToSelect");
}
@Test(testName = "select by value")
public void selectByValue(){
WebElement country= driver.findElement(By.xpath("locatorValue"));
new Select(country).selectByValue("valueToSelect");
}
@Test(testName = "select by index")
public void selectByIndex(){
WebElement country= driver.findElement(By.xpath("locatorValue"));
new Select(country).selectByIndex(valueOfIndex);
}
另一答案
如果下拉列表确实是一个选择框,则下面的代码应该起作用
void selectFromDropdown(WebElement webName, String valtoSelect){
Select select = new Select(webName)));
select.selectByVisibleText(valtoSelect);
// or maybe select.selectByValue(valtoSelect); depending how you setup the dropdown
}
其中选择为org.openqa.selenium.support.ui.Select
以上是关于列表中的值与我的字符串不匹配的主要内容,如果未能解决你的问题,请参考以下文章
如果字符串数组中的列名在字符串数组中具有匹配的值,则获取DataRow