解決方案:Java+selenium定位元素後,sendKeys()輸入的內容顯示不完整
阿新 • • 發佈:2018-11-23
一、執行環境:Java + selenium + chrome
二、問題描述:
使用XPath定位到元素後,使用sendKeys()輸入內容,在輸入框顯示出來的內容不完整,也就是與所輸入內容不一致。比如sendKeys()輸入的是18611372039,輸入後,只顯示部分數字,18611。
再比如,輸入的內容為:"good",顯示為:god;
輸入的內容為:goood,顯示為:good;
輸入的內容為:hello,顯示為:helo。
三、解決過程:
網上各種方法,總結一下,大致為:
(1)((JavascriptExecutor)driver).executeScript("document.getElementById(\"kw\").value=\"yeetrack\"");這種方法可以用,但是JavascriptExecutor沒有xpath定位方法,所以不能使用到利用xpath定位的場景。
(2)其他的方法。
(3)笨,但不可置否的方法:一個一個地寫入。(看到原作者雖然提到了這一點,但是沒有寫出過程,但願他沒有寫了一大段的一模一樣的定位。。。你懂得。。。)
四、上程式碼:(利用for迴圈寫入)
// 寫入方法 public static void ForSendKeys(WebElement element,String content){ for (int i = 0; i < content.length(); i++) { element.sendKeys(content.charAt(i)+""); } } // 呼叫方式 WebElement element = "";//獲取元素 String content = "";//獲取輸入的內容 ForSendKeys(element,content);//呼叫
THE END