使用 WebDriver 等待特定條件時重新整理網頁。


當等待特定條件時,我們可以使用 Selenium webdriver 重新整理網頁。我們可以藉助 **driver.navigate().refresh()** 方法來重新整理網頁。

示例

使用 refresh() 的程式碼實現。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class BrowserRefresh{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://tutorialspoint.tw/index.htm");
      // refresh webpage with refresh method
      driver.navigate().refresh();
   }
}

我們可以藉助 **sendKeys** 方法重新整理網頁,然後將 Keys.F5 作為引數傳遞給該方法。sendKeys 方法能夠接受 Keys 互動。我們需要在程式碼中新增 **import org.openqa.selenium.Keys** 語句來使用 Keys 類。

示例

使用 sendKeys() 的程式碼實現。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.Keys;
public class BrowserKeys{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://tutorialspoint.tw/index.htm");
      // refresh webpage with sendKeys method
      driver.findElement(By.id("gsc-i-id1")).sendKeys(Keys.F5);
   }
}

我們可以藉助 **getCurrentUrl** 方法獲取當前訪問的 URL。我們還可以藉助 **driver.navigate().to()** 方法重新整理網頁,並將從 getCurrentUrl 方法返回的值作為引數傳遞給該方法。

示例

使用 navigate().to() 的程式碼實現。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class BrowserRefreshNavigate{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://tutorialspoint.tw/index.htm");
      // refresh webpage with navigate method
      driver.navigate().to(driver.getCurrentUrl());
   }
}

我們可以藉助 get 方法重新整理網頁,並將要啟動的 URL 作為引數傳遞給該方法。開啟網頁後,我們可以透過再次訪問相同的 URL 來重新載入頁面。

示例

使用 get() 的程式碼實現。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class BrowserRefreshGet{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://tutorialspoint.tw/index.htm");
      // refresh webpage with get method
      driver.get(driver.getCurrentUrl());
   }
}

我們還可以藉助 **Javascript Executor** 重新整理網頁。要執行 Javascript 命令,我們將藉助 **executeScript** 方法,並將 **history.go(0)** Javascript 命令作為引數傳遞給該方法。

示例

使用 Javascript Executor 的程式碼實現。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.JavascriptExecutor;
public class BrowserRefreshJs{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://tutorialspoint.tw/index.htm");
      // refresh webpage with executeScript method
      driver.executeScript("history.go(0)");
   }
}

更新於: 2020年10月26日

861 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.