我已使用自动化代码(Selenium)登录网站页面,但现在有些字段需要输入数据 但是如何使用Selenium做到这一点? 如何为它编写代码?
答案 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);
}