使用自动化将值插入文本字段 - Selenium

时间:2018-03-01 06:56:10

标签: java selenium selenium-chromedriver

我已使用自动化代码(Selenium)登录网站页面,但现在有些字段需要输入数据 但是如何使用Selenium做到这一点? 如何为它编写代码?

5 个答案:

答案 0 :(得分:1)

使用sendKeys方法。

driver.findElement(By.id("InputBox_ID")).sendKeys("Test data");

答案 1 :(得分:0)

使用以下代码行将值插入文本。

    WebElement Element1 = driver.findElementByName("abc");
    Element1.sendKeys("value that you want to enter.");

答案 2 :(得分:0)

搜索要填写的字段时,右键单击网页中的元素,然后单击" Inspect Element"。应在弹出菜单中突出显示该ID,这将是您在" By.xpath()"中指定的ID。来自seleniums API的方法。

以下是有关如何填写Gmail字段的示例。

    System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability("marionette", true);
    WebDriver driver = new FirefoxDriver();
    driver.get(Links.Register_Gmail);
    driver.findElement(By.xpath("//*[@id='FirstName']")).sendKeys(firstname);
    driver.findElement(By.xpath("//*[@id='LastName']")).sendKeys(lastname);
    driver.findElement(By.xpath("//*[@id='GmailAddress']")).sendKeys(username);
    driver.findElement(By.xpath("//*[@id='Passwd']")).sendKeys(password);
    driver.findElement(By.xpath("//*[@id='PasswdAgain']")).sendKeys(password);
    driver.findElement(By.xpath("//*[@id='BirthMonth']")).click();
    driver.findElement(By.xpath("//*[@id=':" + random(1, 9) + "']")).click();
    driver.findElement(By.xpath("//*[@id='BirthDay']")).sendKeys("" + random(1, 27));
    driver.findElement(By.xpath("//*[@id='BirthYear']")).sendKeys("" + random(1950, 1990));
    driver.findElement(By.xpath("//*[@id='Gender']")).click();
    driver.findElement(By.xpath("//*[@id=':f']")).click();
    driver.findElement(By.xpath("//*[@id='submitbutton']")).click();
    driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
    driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
    driver.findElement(By.xpath("//*[@id='tos-scroll-button']")).click();
    driver.findElement(By.xpath("//*[@id='iagreebutton']")).click();

答案 3 :(得分:0)

你只需右键单击要填充的字段就可以完成,然后点击检查,如果你使用的是firefox,那么使用firepath就可以很安静了但是如果你使用的是chrome,那么只需右键单击该字段即可,单击inspect元素并找到该字段的唯一ID,并将其放在这些下面的行中 driver.findelement(By.id( “”))。sendelement( “”), 如果你发现其他独特的东西,你可以使用不同于id的字段。

答案 4 :(得分:0)

您可以使用以下方法并在任何想要输入文字的位置调用

public static void enterTextInput(WebElement element, String value) throws InterruptedException{
    String val = value; 
    element.clear();
    Thread.sleep(1000);

    for (int i = 0; i < val.length(); i++){
        char c = val.charAt(i);
        String str = new StringBuilder().append(c).toString();
        element.sendKeys(str);
    }   
    Thread.sleep(1500);
}