最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java selenium智能等待頁面加載完成示例代碼

 更新時間:2016年08月15日 09:04:55   作者:肖佳  
本文主要介紹java selenium智能等待頁面加載,這里整理了相關資料并詳細講解如何實現(xiàn)智能等待頁面加載,有需要的小伙伴可以參考下

java selenium  智能等待頁面加載完成

我們經(jīng)常會碰到用selenium操作頁面上某個元素的時候, 需要等待頁面加載完成后, 才能操作。  否則頁面上的元素不存在,會拋出異常。 

或者碰到AJAX異步加載,我們需要等待元素加載完成后, 才能操作

selenium 中提供了非常簡單,智能的方法,來判斷元素是否存在. 

閱讀目錄

  1. 實例要求
  2. 隱式等待
  3. 顯式等待

實例要求

實例:set_timeout.html 下面的html 代碼,  點擊click 按鈕5秒后, 頁面上會出現(xiàn)一個紅色的div快, 我們需要寫一段自動化腳本智能的去判斷這個div是否存在, 然后把這個div 然后高亮。

<html>
 <head>
  <title>Set Timeout</title>
  <style>
   .red_box {background-color: red; width = 20%; height: 100px; border: none;}
  </style>
  <script>
   function show_div(){
    setTimeout("create_div()", 5000);
   }
 
   function create_div(){
    d = document.createElement('div');
    d.className = "red_box";
    document.body.appendChild(d);
   }
  </script>
 </head>
 <body>
  <button id = "b" onclick = "show_div()">click</button>
 </body>
</html>

隱式等待

  WebDriver driver = new FirefoxDriver();
  driver.get("file:///C:/Users/Tank/Desktop/set_timeout.html"); 
  
  driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
  WebElement element = driver.findElement(By.cssSelector(".red_box"));  
  ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element); 

其中

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

意思是, 總共等待10秒, 如果10秒后,元素還不存在,就會拋出異常  org.openqa.selenium.NoSuchElementException

顯式等待

顯式等待 使用ExpectedConditions類中自帶方法, 可以進行顯試等待的判斷。

顯式等待可以自定義等待的條件,用于更加復雜的頁面等待條件

等待的條件

WebDriver方法

頁面元素是否在頁面上可用和可被單擊

elementToBeClickable(By locator)

頁面元素處于被選中狀態(tài)

elementToBeSelected(WebElement element)

頁面元素在頁面中存在

presenceOfElementLocated(By locator)

在頁面元素中是否包含特定的文本

textToBePresentInElement(By locator)

頁面元素值

textToBePresentInElementValue(By locator, java.lang.String text)

標題 (title)

titleContains(java.lang.String title)

只有滿足顯式等待的條件滿足,測試代碼才會繼續(xù)向后執(zhí)行后續(xù)的測試邏輯

如果超過設定的最大顯式等待時間閾值, 這測試程序會拋出異常。

public static void testWait2(WebDriver driver)
 {
  driver.get("E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\浦東軟件園培訓中心\\我的教材\\Selenium Webdriver\\set_timeout.html"); 
  
  WebDriverWait wait = new WebDriverWait(driver, 20);
  wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".red_box")));
  WebElement element = driver.findElement(By.cssSelector(".red_box"));  
  ((JavascriptExecutor)driver).executeScript("arguments[0].style.border = \"5px solid yellow\"",element); 
 }

以上就是對Java selenium 等待頁面加載的資料整理,后續(xù)繼續(xù)補充相關資料,謝謝大家對本站的支持!

相關文章

  • asp.net中CSharpThinking擴展方法分析

    asp.net中CSharpThinking擴展方法分析

    這篇文章主要介紹了asp.net中CSharpThinking擴展方法,實例講述了擴展方法的特征及應用,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • asp.net TemplateField模板中的Bind方法和Eval方法

    asp.net TemplateField模板中的Bind方法和Eval方法

    在TemplateField模板中為了能夠有限制的或者取出數(shù)據(jù)庫中某列的值時,可以用Bind和Eval方法來實現(xiàn)。以下是Bind方法的格式,Eval的格式也是和Bind一樣的。 Bind("列的名稱","顯示的格式文")
    2009-06-06
  • asp.net采集頁面上所有圖像圖片資源的具體方法

    asp.net采集頁面上所有圖像圖片資源的具體方法

    這篇文章主要為大家詳細介紹了asp.net采集頁面上所有圖像資源的具體方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • ASP.NET中IsPostBack用法詳解

    ASP.NET中IsPostBack用法詳解

    這篇文章主要介紹了ASP.NET中IsPostBack用法,有助于讀者進一步理解IsPostBack用法并加以靈活應用,需要的朋友可以參考下
    2014-07-07
  • 如何在?.NET?中使用?Tesseract?識別圖片文字

    如何在?.NET?中使用?Tesseract?識別圖片文字

    Tesseract是一個強大的OCR工具,支持多種語言和格式,在.NET項目中使用Tesseract,需要安裝相關的NuGet包和基礎依賴,本文介紹如何在?.NET?中使用?Tesseract?識別圖片文字,感興趣的朋友一起看看吧
    2025-01-01
  • ClickOnce DIY全自動更新下載升級的自我實現(xiàn)

    ClickOnce DIY全自動更新下載升級的自我實現(xiàn)

    ClickOnce DIY全自動更新下載升級的自我實現(xiàn)...
    2007-08-08
  • C#獲取當前頁面的URL示例代碼

    C#獲取當前頁面的URL示例代碼

    獲取當前頁面的URL在某些情況下還是比較使用的,下面為大家介紹下如何通過C#以及Javascript獲取當前頁面的URL,感興趣的朋友不要錯過
    2013-11-11
  • .Net?Core使用Coravel實現(xiàn)任務調(diào)度的完整步驟

    .Net?Core使用Coravel實現(xiàn)任務調(diào)度的完整步驟

    最近在使用調(diào)度程序創(chuàng)建簡單的服務,該服務將執(zhí)行一些重復的IO操作,使用的是Coravel調(diào)度庫,下面這篇文章主要給大家介紹了關于.Net?Core使用Coravel實現(xiàn)任務調(diào)度的完整步驟,需要的朋友可以參考下
    2022-08-08
  • Asp.net中UpdatePanel的用法詳解

    Asp.net中UpdatePanel的用法詳解

    本文詳細的介紹了Asp.net中UpdatePanel的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法

    Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法

    這篇文章主要介紹了Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法,使用第三方組件實現(xiàn)訪問時將js與css文件壓縮并緩存在客戶端的效果,非常具有實用價值,需要的朋友可以參考下
    2014-12-12

最新評論

饶平县| 依兰县| 仁化县| 阿瓦提县| 乳山市| 河南省| 兴义市| 色达县| 济阳县| 桐乡市| 鄂托克前旗| 军事| 阿克陶县| 永州市| 霞浦县| 宝鸡市| 昌乐县| 太原市| 民县| 辽阳县| 华宁县| 逊克县| 宜川县| 建德市| 涟源市| 城固县| 白山市| 沙洋县| 都安| 中牟县| 德格县| 忻州市| 重庆市| 台江县| 泽库县| 汪清县| 枣庄市| 雅安市| 泾阳县| 聂拉木县| 靖宇县|