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

标签 java selenium selenium-webdriver

如何在 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/

相关文章:

java - JFrame 将登录表单锁定在主表单前面

java - 检查 OP_ACCEPT-ed 选择键是否有等待打开的连接

Python selenium 保持浏览器打开

python - 如何将 cookie/session 从 Mechanize 导出到 Selenium

java - 丢弃循环中的一些类值 - 避免使用第二个元素

javascript - 单击具有 onclick javascript 属性的 href 按钮

java - 我正在尝试使用 Firebase 为 Java 桌面应用程序构建后端

java - 在 Java 中快速实现端口转发

python - 在 Ubuntu 上导入 selenium 时出错

java - Selenium 如何多次等待具有不同文本的同一个 WebElement