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,移動到指定的位置
- //移動到元素element對象的「頂端」與當前窗口的「頂部」對齊
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
-
- //移動到元素element對象的「底端」與當前窗口的「底部」對齊
- ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false);", element);
-
- //移動到頁面最底部
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");
-
- //移動到指定的座標(相對當前的座標移動)
- ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 700)");
- Thread.sleep(3000);
- //結合上面的scrollBy語句,至關於移動到700+800=1600像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, 800)");
-
- //移動到窗口絕對位置座標,以下移動到縱座標1600像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1600)");
- Thread.sleep(3000);
- //結合上面的scrollTo語句,仍然移動到縱座標1200像素位置
- ((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1200)");
3、能夠經過執行js的方式導入一個js包
就是執行一段js,這段js經過document.createElement('script');建立一個script標籤,而後設置標籤的url值,而後找到head,把這個script追加到head末尾(appendchild)。