使用 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)"); } }
广告