Selenium初級 | 使用navigate系列方法操作網頁
阿新 • • 發佈:2018-12-09
前面我們學了使用get系列方法去開啟網頁,獲取頁面標題等,使用navigate系列的方法也可以開啟網頁,還可以在不同的頁面間進行切換,比如前進到上一個頁面,回退到下一個頁面。
這些操作和get系列方法不同的是,get系列方法每一個都是全新的操作,相當於自帶了一個預設的重新整理頁面的功能,而navigate系列的方法是基於瀏覽器的歷史記錄在操作。
本篇文章介紹四個最常用的navigate系列的方法:
-
navigate().to()
-
navigate().back()
-
navigate().forward()
-
navigate().refresh()
下面具體來介紹一下這四個方法:
navigate().to():
和get()方法基本相同,都是用來開啟指定的網頁地址
//使用navigate.to開啟指定網頁地址:百度新聞
driver.navigate().to("http://news.baidu.com/");
navigate().back()
當在同一個視窗開啟2個以上的頁面後,瀏覽器的前進和後退按鈕就可以使用了,見上圖標註。navigate().back()指回退到上一個頁面。
//使用navigate.back返回到百度新聞頁
driver.navigate().back();
navigate().forward()
navigate().forward()指前進到下一個頁面,相當於點選瀏覽器欄的前進按鈕,見上圖標註。
//使用navigate.forward返回到百度國內新聞頁
driver.navigate().forward();
navigate().refresh()
這個很好理解,就是簡單的重新整理當前頁面。
比如有的頁面在增加一條記錄後沒有自動重新整理,看不到新增的記錄,此時可以用navigate().refresh()進行重新整理。
//使用navigate.refresh重新整理當前頁面
driver.navigate().refresh();
下面是一個使用這四個方法的場景:
- 開啟百度新聞頁面
- 點選國內新聞連結(注:這樣就在同一個視窗產生了兩個頁面的歷史記錄)
- 回退到第一次開啟的百度新聞頁面
- 前進到國內新聞頁面
- 重新整理國內新聞頁面
下面是實現上面場景的完整的指令碼:
package basiclevel;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Navigations {
public static void main(String[] args) throws InterruptedException {
//定義gecko driver的獲取地址
System.setProperty("webdriver.gecko.driver", "D:\\BrowserDriver\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
//使用navigate.to開啟指定網頁地址:百度新聞
driver.navigate().to("http://news.baidu.com/");
//點選開啟另一個頁面:國內新聞
driver.findElement(By.linkText("國內")).click();
Thread.sleep(3000);
//使用navigate.back返回到百度新聞頁
driver.navigate().back();
Thread.sleep(3000);
//使用navigate.forward返回到百度國內新聞頁
driver.navigate().forward();
Thread.sleep(3000);
//使用navigate.refresh重新整理當前頁面
driver.navigate().refresh();
driver.quit();
}
}
****************************************************************************************************
最近我會持續更新Selenium Java的相關文章,也請大家多多關注我的視訊課程
全網最新、最完整、最具價效比、並且會持續保持更新的自動化測試課程
*****************************************************************************************************