我使用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瀏覽器!我不知道問題出在哪裏,有人可以幫我嗎?
編輯:Chrome版本:29.0.1547.76男,Selenium服務器獨立2.35.0,Chromedriver V2.3
什麼版本的Chrome/ChromeDriver/Selenium?與其他瀏覽器有什麼不同? – Arran
一切都很好,當我輸入我想要發送的內容時,它會發送它。但它拒絕發送變量,雖然有時它發送兩個字符... – Manderius