使用 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.com/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.com/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.com/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.com/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.com/index.htm");
      // refresh webpage with executeScript method
      driver.executeScript("history.go(0)");
   }
}

更新于: 2020年10月26日

861 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告