麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:31:16
字體:
來源:轉載
供稿:網友

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


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: mmmwww| 亚洲第一成人在线视频 | 国产九色91 | 九九热视频免费观看 | 草b视频在线观看 | 欧美黄色性生活视频 | 亚洲午夜免费 | 久久久精品视频免费看 | 极品美女一级毛片 | 日本网站一区二区三区 | chinese军人gay呻吟 | 国产精品啪 | av电影手机在线看 | 最新在线中文字幕 | 国产乱色精品成人免费视频 | 欧美在线小视频 | 国产午夜精品理论片a级探花 | 亚洲日本韩国在线观看 | 黄色av片三级三级三级免费看 | 综合激情网| 毛片大全免费看 | 黄色片网站在线免费观看 | 欧美 日韩 亚洲 中文 | 在线91视频| 一区二区三区欧美日韩 | 日韩a毛片免费观看 | 农村少妇吞精夜夜爽视频 | 依人在线视频 | 中文字幕在线观看视频一区 | 性猛交ⅹxxx乱巴西 在线播放中文 | 国产精品视频导航 | 国产精品久久久乱弄 | 99在线精品视频免费观看20 | 国产毛片自拍 | a级高清免费毛片av在线 | 中文字幕激情 | 在线无码 | 亚洲午夜久久久久 | 日韩中字在线 | 久久草草亚洲蜜桃臀 | 亚洲午夜久久久久 |