需要Selenium等待文件準備好


在Selenium中,我們可以透過使用pageLoadTimeout方法等待文件就緒(頁面完全載入)。等待時間將作為此方法的一個引數。

webdriver等待該持續時間以完成頁面載入。如果在頁面載入完後這段時間過去,將丟擲TimeoutException。

語法

driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);

示例

帶有pageLoadTimeout的程式碼實現

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class PageLdTime{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //page load wait
      driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);
      //URL launch
      driver.get("https://tutorialspoint.tw/index.htm");
      driver.close();
   }
}

我們還可以透過使用JavaScript執行者等待文件準備好(頁面完全載入)。等待會持續到JavaScript命令document.readyState返回“complete”。

語法

JavascriptExecutor j = (JavascriptExecutor)driver;
j.executeScript("return document.readyState").toString().equals("complete");

帶有JavaScript執行者的程式碼實現

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.JavascriptExecutor;
public class PageldJs{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //URL launch
      driver.get("https://tutorialspoint.tw/index.htm");
      try{
         // Javascript Executor for ready state
         JavascriptExecutor j = (JavascriptExecutor)driver;
         if (j.executeScript("return document.readyState").toString().equals("complete")){
            System.out.println("Page in ready state"); }
         } catch(Exception exe) {
            System.out.println("Page not in ready state");
         }
         driver.close();
      }
   }
}

輸出

更新於: 06-04-2021

5K+ 瀏覽量

開啟你的 職業

透過完成課程獲得認證

馬上開始
廣告