如何在 selenium webdriver 的文本字段中一个一个地输入字符?

新手上路,请多包涵

如何在 selenium webdriver 的文本字段中一个一个地输入字符?我使用了下面的代码,但它不工作

getDriver().findElement(By.id("PhoneNumber")).sendKeys(Keys.chord("9876544322"));

有人可以建议如何解决这个问题吗?

原文由 Rajendra Narayan Mahapatra 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 590
1 个回答

下面是我如何使用 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、类名或任何您想要的内容。

原文由 Marțiș Paul 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题