如何在 selenium webdriver 的文本字段中一个一个地输入字符?我使用了下面的代码,但它不起作用
getDriver().findElement(By.id("PhoneNumber")).sendKeys(Keys.chord("9876544322"));
有人可以建议如何解决这个问题吗?
最佳答案
下面是我如何使用 Selenium Webdriver(在 Java 中)逐字符发送。这样在后端,我会在每次按下字母时验证输入中是否存在该字符。正常的 element.sendKeys()
对我来说 5 次中有 2 次效果不佳 - 最后一个字母丢失了,我猜 Selenium Webdriver 有问题,我不知道。试试下面的代码,它对我来说 100% 有效。
public void TypeInField(String xpath, String value){
String val = value;
WebElement element = driver.findElement(By.xpath(xpath));
element.clear();
for (int i = 0; i < val.length(); i++){
char c = val.charAt(i);
String s = new StringBuilder().append(c).toString();
element.sendKeys(s);
}
}
如您所见,我获得了需要键入的值,在 for
循环中,我获取每个字符,将其转换为字符串并将其发送到文本框。另外,我搜索了 xpath,您可以将其更改为 id、类名或任何您想要的内容。
关于java - 如何在 selenium webdriver 的文本字段中一个一个地输入字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24492795/