java+selenium使用JS、鍵盤滑動滾動條
阿新 • • 發佈:2018-09-25
driver 瀏覽器 ack add find rom javascrip int del
本篇文章介紹如何使用JS和鍵盤對象對頁面進行滑動滾動條-------------主要針對java做自動化測試的同學
一:使用鍵盤對象操作滾動條
//導包 import org.openqa.selenium.interactions.Actions; // 創建鼠標鍵盤操作對象 Actions actions = new Actions(driver); // -----------driver:是創建瀏覽器對象的變量(WebDriver driver=new ChromeDriver();) //通過xpath獲取到滾動條所在元素位置 WebElement A = driver.findElement(By.xpath("xpath_str"));//循環點擊鍵盤下鍵,直到元素可見 while(true) { actions.sendKeys(A, Keys.DOWN).perform(); /* A:滾動條所在元素位置 * Keys.DOWN:點擊鍵盤下鍵 * perform():確定鍵盤操作事件,不能省略 */ // 使用try…catch…來判斷元素是否可見,可見就進行元素操作並退出循環 try { driver.findElement(By.xpath("Startprocess")).click(); break; } catch (Exception e) { } }
以上方式就會讓滾動條不停的滑動,並直到元素可見。進行元素的操作
二:通過JS來操作頁面滾動條
主要介紹一下垂直方向滾動到最底部,水平方向同理
//導包 import org.openqa.selenium.JavascriptExecutor; // 創建js對象 JavascriptExecutor js = (JavascriptExecutor) driver; // 使用executeScript方法執行js語句 js.executeScript("document.evaluate(\"xpath_str\", document).iterateNext().scrollTop=1000");/* * document.evaluate是針對使用xpath定位的方法 * document.evaluate(\"xpath_str\", document).iterateNext():獲取到滾動條元素位置,xpath內含有雙引號記得轉義 * scrollTop:將垂直滾動條高度設置為1000,意思就是滾動到底部 */
註意:上述JS操作滾動條是使用xpath定位的方式,如果需要使用其他的元素可使用下述例子
如:id定位可直接使用:js.executeScript("document.getElementById(\"ext-gen543\").scrollTop=1000");
--------移動到最底部
class定位、name定位和id定位操作一樣,只有xpath不同,因為js中對xpath是單獨的方法。
感謝各位看官--------------
java+selenium使用JS、鍵盤滑動滾動條