【问题标题】:Selenium Webdriver: Entering text into text fieldSelenium Webdriver:在文本字段中输入文本
【发布时间】:2013-10-08 20:21:04
【问题描述】:

当我在文本字段中输入文本时,它会被删除。

代码如下:

String barcode="0000000047166";

WebElement element_enter = _driver.findElement(By.xpath("//*[@id='div-barcode']"));

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys("barcode");

【问题讨论】:

  • barcode 是一个变量,像这样传递它sendKeys(barcode)
  • 使用sendKeys(barcode) @SubirKumarSao 说; div-barcode 字段可能具有删除无效条形码的验证。

标签: java selenium selenium-webdriver


【解决方案1】:

同意 Subir Kumar Sao 和 Faiz。

element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/div/input")).sendKeys(barcode);

【讨论】:

  • 我正在通过以下代码进行操作: element_enter.findElement(By.xpath("//html/body/div[1]/div[3]/div[1]/form/div/ div/输入")).sendKeys(条形码);但问题是输入后文本会自动从文本字段中删除。
  • “输入后文本会自动从文本字段中删除”是什么意思?
  • 使用上述代码,文本不显示在文本字段中。 (文本输入到文本字段并在 3 到 5 秒内删除。)
【解决方案2】:

我有一个案例,我在一个字段中输入文本,之后文本将被自动删除。原来这是由于您必须使用某些网站功能 在字段中输入文本后按回车键。因此,在使用 sendKeys 方法发送您的条形码文本后,直接在其后发送“输入”。请注意,您必须导入 selenium Keys 类。请参阅下面的代码。

import org.openqa.selenium.Keys;

String barcode="0000000047166";
WebElement element_enter = driver.findElement(By.xpath("//*[@id='div-barcode']"));
element_enter.findElement(By.xpath("your xpath")).sendKeys(barcode);

element_enter.sendKeys(Keys.RETURN); // this will result in the return key being pressed upon the text field

希望对你有帮助..

【讨论】:

  • 是的,确实如此。非常感谢
  • 谢谢,当没有其他解决方案时,它确实帮助了我。
【解决方案3】:

使用此代码。

driver.FindElement(By.XPath(".//[@id='header']/div/div[3]/div/form/input[1]")).SendKeys("25025");

【讨论】:

    【解决方案4】:

    可能是 JavaScript 检查某些有效条件。
    您可以根据自己的要求执行两件事:

    1. 要么检查文本框中的有效字符串输入。
    2. 或针对该文本框设置循环以输入值,直到您发布表单/请求。
    String barcode="0000000047166";
    
    WebElement strLocator = driver.findElement(By.xpath("//*[@id='div-barcode']"));
    strLocator.sendKeys(barcode);
    

    【讨论】:

      最近更新 更多