我将 Selenium Webdriver 与 Java 一起使用,但我发现了一个问题。当我尝试向文本字段发送一些文本时,它只发送两个的第一个字符。我尝试用 JavaScriptExecutor 设置它,但同样的事情发生了。ChromeDriver 正在运行并且工作正常。下面的代码:
public void sendNumberToChrome (int number){
textfield.clear(); // textfield is already set, it's classic input field with max. 10 characters
System.out.println(String.valueOf(number)); // This prints for example 94
textfield.sendKeys(String.valueOf(number)); // But only "9" appears in the browser
}
我还尝试逐个字符地发送它:
String[] arr = String.valueOf(number).split("(?<!^)"); // splits number character by character
for (String s : arr){
System.out.println(s); // Prints 9 and then 4
textfield.sendKeys(s); // Also only 9 appears
Thread.sleep(100); // Maybe browser can not work too fast, so I will wait before sending next character
}
JavascriptExecutor 也只发送一个字符,每隔几分钟就会崩溃(不知道为什么),所以我没有使用它。但有趣的是 - 当我这样做时:
textfield.sendKeys(String.valueOf(94));
它向 Chrome 发送 94!我不知道问题出在哪里,有人可以帮助我吗?
编辑:Chrome 版本:29.0.1547.76 m,Selenium Server Standalone 2.35.0,Chromedriver v2.3