首页 > 解决方案 > selenium webdriver:未插入输入数据

问题描述

下面是一个Search for selenium中的文本输入框,我可以先找到元素,输入数据。但在前端我没有看到任何输入的数据

我不确定为什么我的 UI 不显示 webdriver 输入的数据。代码日志中没有错误

System.setProperty("webdriver.chrome.driver",
            "C:\\Users\\rahul\\Downloads\\chromedriver_win32_83\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.get("http://testingapp.workspez.com");
    driver.manage().window().maximize();
    WebElement username = driver.findElement(By.id("field_email"));
    WebElement password = driver.findElement(By.id("field_password"));
    WebElement login = driver.findElement(By.xpath("//*[text()='Log In']"));

    username.sendKeys(Keys.CONTROL + "a");
    username.sendKeys(Keys.DELETE);
    password.sendKeys(Keys.CONTROL + "a");
    password.sendKeys(Keys.DELETE);

    username.sendKeys("rahul@workspez.com");
    password.sendKeys("Sujeet@19");
    login.click();
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    
    
    WebElement generalInfo = driver.findElement(By.xpath("//*[text()='General Info']"));
    generalInfo.click();
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    WebElement Contacts = driver.findElement(By.xpath("//*[text()='Contacts']"));
    Contacts.click();
    
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    } 
    //find search for 
    WebElement newlyaddedcontact1 = driver.findElement(By.xpath("//*[text()='Search for']"));
    JavascriptExecutor executor1 = (JavascriptExecutor) driver;
    executor1.executeScript("arguments[0].click();", newlyaddedcontact1);           
    JavascriptExecutor executor = (JavascriptExecutor) driver;
    executor.executeScript("arguments[0].value='searchcontact';", newlyaddedcontact1);
    WebElement search = driver.findElement(By.xpath(".//*[@class='MuiButtonBase-root MuiIconButton-root']"));
    search.click();

如何访问该网页

1.登录http://testingapp.workspez.com

  1. 用户名:rahul@workspez.com 密码:Sujeet@19

  2. 单击顶部的一般信息选项卡,然后单击联系人“选项卡”

  3. 您将看到搜索框。

在此处输入图像描述

标签: seleniumselenium-webdriver

解决方案


我的事情你需要改变你的Xpath。因为无论你写什么XPath,这是一个你需要为输入控制编写的标签,所以我更新你的代码。

IWebElement newlyaddedcontact1 = driver.FindElements(By.XPath("//input[contains(@class,'MuiInput-input')]")).ToList()[0];
JavascriptExecutor executor1 = (JavascriptExecutor) driver;
executor1.executeScript("arguments[0].click();", newlyaddedcontact1);           
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].value='"+name+"';", newlyaddedcontact1);

请尝试此代码。我用 C# 语言编写。


推荐阅读