Я использую Selenium Webdriver с Java, и я нашел проблему. Когда я пытаюсь отправить текст в текстовое поле, он отправляет только первый символ из двух. Я попытался установить его с помощью JavaScriptExecutor, но произошло то же самое. ChromeDriver работает и работает нормально. Код ниже:Selenium Webdriver - sendKeys() не отправляет все ключи - Java
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));
Он посылает 94 в Chrome! Я не знаю, где проблема, может кто-нибудь мне помочь?
EDIT: версия Chrome: 29.0.1547.76 м, Селен Сервер Standalone 2.35.0, Chromedriver v2.3
Какая версия Chrome/ChromeDriver/Selenium? Все зависит от другого браузера? – Arran
Все в порядке, когда я набираю именно то, что я хочу отправить, он отправляет его. Но он отказывается отправлять переменную, хотя ИНОГДА отправляет оба символа ... – Manderius