Selenium Webdriver:在文本字段中输入文本

时间:2013-10-02 12:40:03

标签: java selenium selenium-webdriver

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

以下是代码:

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");

4 个答案:

答案 0 :(得分:30)

同意Subir Kumar Sao和Faiz。

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

答案 1 :(得分:8)

我有一个案例,我在文本中输入文本,之后文本将自动删除。原来这是由于您必须使用某些网站功能 将文本输入字段后按Enter键。因此,在使用sendKeys方法发送条形码文本后,请在其后直接发送“enter”。请注意,您必须导入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

我希望它有所帮助..

答案 2 :(得分:4)

使用此代码。

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

答案 3 :(得分:1)

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

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