首页 > 解决方案 > 当我在“搜索”按钮中输入数据时,使用 selenium 如何编写逻辑来检查数据是否显示

问题描述

在这里,我尝试使用 selenium 脚本从下拉列表中选择一个值,但我在控制台中收到此错误,例如“线程“主” enter code hereorg.openqa.selenium.support.ui.UnexpectedTagNameException 中的异常:元素应该是“选择”但“跨度”..

 public class HomeUserManagement {

 public static void main(String args[]) {
 System.setProperty("webdriver.chrome.driver", 
"C:\\Users\\UMASHANKAR\\Documents\\selenuim\\chromedriver.exe");
 WebDriver driver=new ChromeDriver();
 driver.manage().window().maximize();

//this code is for login

driver.get("https://ecabportal.azurewebsites.net/dashboard");

driver.findElement(By.name("email")).sendKeys("admin@malbork.in");

driver.findElement(By.name("password")).sendKeys("NsSaNj@0205");
driver.findElement(By.name("signIn")).click();  


//actual code for selecting a value from dropdown

driver.get("https://ecabportal.azurewebsites.net/user");
Select drpdwn=new Select(driver.findElement(By.id("select2-signup-username- 
container")));
drpdwn.selectByVisibleText("User Name");
drpdwn.selectByIndex(0);

there are multiple values in a dropdown I need to select one value in 
that..`enter code here`

标签: javaseleniumselenium-webdriver

解决方案


您应该再次找到该元素...以确保输入了文本。

尝试这样的事情:

WebElement data=driver.findElement(By.xpath("//input[@class='form-control input-sm']"));
data.sendKeys("abc" , Keys.ENTER);
WebElement updatedData=driver.findElement(By.xpath("//input[@class='form-control input-sm']"));
String result =updatedData.getText();
System.out.println(result);  

希望这对你有帮助!


推荐阅读