Java で Selenium Webdriver を使用していますが、問題が見つかりました。テキストフィールドにテキストを送信しようとすると、最初の 2 文字のみが送信されます。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も1文字しか送信せず、数分ごとにクラッシュするため(理由はわかりません)、使用していません。しかし、興味深いのは、これを行うときです。
textfield.sendKeys(String.valueOf(94));
Chrome に 94 を送信します。どこに問題があるのか わかりません。誰か助けてもらえますか?
編集: Chrome バージョン: 29.0.1547.76 m、Selenium Server Standalone 2.35.0、Chromedriver v2.3