Selenium-js

1、javascript示例,操做富文本javascript

// 給富文本框賦值java

WebElement text=driver.findElement(By.id("textarea"));數組

JavascriptExecutor javascriptExecutor=(JavascriptExecutor)driver;app

javascriptExecutor.executeScript("arguments[0].innerHTML=\""+"啊啊啊abc"+"\"", text);url

// 取出富文本框的值對象

String areatxt=(String)javascriptExecutor.executeScript("return arguments[0].innerHTML;", text);ip

System.out.println(areatxt);element

// 一次傳入多個參數字符串

WebElement input=driver.findElement(By.id("edit"));input

javascriptExecutor.executeScript("arguments[0].innerHTML=\""+"bbbbbbbbb"+"\";arguments[1].value=\""+"input書屋"+"\";", text,input);

executeScript方法若是有返回值,有如下幾種狀況:

  • 若是返回一個頁面元素(document element), 這個方法就會返回一個WebElement
  • 若是返回浮點數字,這個方法就返回一個double類型的數字
  • 返回非浮點數字,方法返回Long類型數字
  • 返回boolean類型,方法返回Boolean類型
  • 若是返回一個數組,方法會返回一個List<Object>
  • 其餘狀況,返回一個字符串
  • 若是沒有返回值,此方法就會返回null

2、javascript操做滾動條

scrollIntoView是滾動到某個元素的可見範圍內,元素在最頂端;

scrollBy,就是在當前滾動條的範圍橫向豎向移動多少距離;

scrollTo,移動到指定的位置

 

  1. //移動到元素element對象的「頂端」與當前窗口的「頂部」對齊  
  2. ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);  
  3. ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);  
  4.   
  5. //移動到元素element對象的「底端」與當前窗口的「底部」對齊  
  6. ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);", element);  
  7.   
  8. //移動到頁面最底部  
  9. ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");  
  10.   
  11. //移動到指定的座標(相對當前的座標移動)  
  12. ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 700)");  
  13. Thread.sleep(3000);  
  14. //結合上面的scrollBy語句,至關於移動到700+800=1600像素位置  
  15. ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 800)");  
  16.   
  17. //移動到窗口絕對位置座標,以下移動到縱座標1600像素位置  
  18. ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1600)");  
  19. Thread.sleep(3000);  
  20. //結合上面的scrollTo語句,仍然移動到縱座標1200像素位置  
  21. ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1200)");  

3、能夠經過執行js的方式導入一個js包

就是執行一段js,這段js經過document.createElement('script');建立一個script標籤,而後設置標籤的url值,而後找到head,把這個script追加到head末尾(appendchild)。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息