好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > java selenium智能等待頁面加載完成示例代碼

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

熱門標簽:400電話唐山辦理 地圖標注位置怎么弄圖 威力最大的電銷機器人 旅游地圖標注線路 電銷專用外呼線路 電話機器人鑰匙扣 漯河外呼調研線路 電銷外呼系統是違法的嗎 廣西房產智能外呼系統推薦

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

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

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

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

閱讀目錄

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

實例要求

實例:set_timeout.html 下面的html 代碼,  點擊click 按鈕5秒后, 頁面上會出現一個紅色的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)

頁面元素處于被選中狀態

elementToBeSelected(WebElement element)

頁面元素在頁面中存在

presenceOfElementLocated(By locator)

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

textToBePresentInElement(By locator)

頁面元素值

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

標題 (title)

titleContains(java.lang.String title)

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

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

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 等待頁面加載的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

您可能感興趣的文章:
  • Java selenium截圖操作的實現
  • selenium+java+chrome環境搭建的方法步驟
  • java+selenium實現自動化打開頁面的方法
  • selenium+java破解極驗滑動驗證碼的示例代碼
  • Java selenium處理極驗滑動驗證碼示例
  • java selenium 操作彈出窗口示例代碼
  • java selenium操作彈出對話框示例講解
  • java selenium 操作瀏覽器實例
  • selenium+java中用js來完成日期的修改

標簽:焦作 欽州 無錫 湘西 綏化 試駕邀約 銅陵 湖北

巨人網絡通訊聲明:本文標題《java selenium智能等待頁面加載完成示例代碼》,本文關鍵詞  java,selenium,智能,等待,頁面,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《java selenium智能等待頁面加載完成示例代碼》相關的同類信息!
  • 本頁收集關于java selenium智能等待頁面加載完成示例代碼的相關信息資訊供網民參考!
  • 推薦文章