【问题标题】:selenium webdriver : input data NOT insertedselenium webdriver:未插入输入数据
【发布时间】:2020-07-16 05:10:45
【问题描述】:

下面是文字输入框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. 你会看到搜索框。

【问题讨论】:

  • 你能分享页面链接,以便我可以通过并告诉我是什么问题吗?
  • 首先您需要点击该字段,然后您可以将密钥发送到该字段。(这是自动填充选项)
  • 发送键不起作用。请查看上面关于“如何访问该网页”下访问页面的说明,非常感谢! @贾斯汀兰伯特
  • 您的搜索没有得到值,因为网络的行为就像我输入了值但没有从键盘获取一样
  • 你是如何在页面中输入数据的,你告诉搜索选项没有得到正确的用户值?

标签: selenium selenium-webdriver


【解决方案1】:

我觉得你需要改变你的 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# 语言编写。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2013-09-25
    • 1970-01-01
    • 2022-10-17
    • 2013-03-28
    • 1970-01-01
    • 2016-04-01
    相关资源
    最近更新 更多