• Selenium Video Tutorials

Selenium WebDriver - 瀏覽器導航



Selenium Webdriver 提供多種方法來實現瀏覽器導航,包括啟動、後退、前進瀏覽器歷史記錄以及重新整理瀏覽器。

基本的瀏覽器導航命令

下面討論一些瀏覽器導航方法:

driver.navigate().to("應用程式 URL")

此方法導航到應用程式 URL。

語法

driver.navigate().to("https://tutorialspoint.tw/index.htm");

driver.get("應用程式 URL")

此方法啟動瀏覽器以開啟應用程式。

語法

driver.get("https://tutorialspoint.tw/index.htm");

driver.navigate().back()

此方法根據瀏覽器歷史記錄上下文跳轉到上一頁。

語法

driver.navigate().back();

driver.navigate().forward()

此方法根據瀏覽器歷史記錄上下文跳轉到下一頁。

語法

driver.navigate().forward();

driver.navigate().refresh()

此方法重新載入網頁。

語法

driver.navigate().refresh();

示例 1

讓我們來看一個例子,我們首先啟動一個瀏覽器標題為Selenium Practice - Student Registration Form的應用程式。

Selenium Browser Navigation 1

然後,我們將點選登入連結,點選後,我們將導航到另一個瀏覽器標題為Selenium Practice - Login的頁面。

Selenium Browser Navigation 2

接下來,我們將返回瀏覽器歷史記錄,並將瀏覽器標題獲取為Selenium Practice - Student Registration Form

最後,我們將前進到瀏覽器歷史記錄,並將瀏覽器標題獲取為Selenium Practice - Login。我們還將重新整理瀏覽器,並將瀏覽器標題獲取為Selenium Practice - Login

程式碼實現

package org.example;

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;

public class BrowNavigation {
   public static void main(String[] args) throws InterruptedException {

      // Initiate the Webdriver
      WebDriver driver = new ChromeDriver();

      // adding implicit wait of 15 secs
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

      // launching a browser and open a URL
      driver.get("https://tutorialspoint.tw/selenium/practice/selenium_automation_practice.php");

      // Getting browser title after launch
      System.out.println("Getting browser title after launch: " + driver.getTitle());

      // identify the link then click
      WebElement l = driver.findElement(By.xpath("//*[@id='collapseTwo']/div/ul/li[2]/a"));
      l.click();

      // Getting browser title after clicking link
      System.out.println("Getting browser title after clicking link: " + driver.getTitle());

      // navigate back to browser history
      driver.navigate().back();

      // Getting browser title after navigating back
      System.out.println("Getting browser title after navigating back: " + driver.getTitle());

      // navigate forward to browser history
      driver.navigate().forward();

      // Getting browser title after navigating forward
      System.out.println("Getting browser title after navigating forward: " + driver.getTitle());

      // refresh browser
      driver.navigate().refresh();

      // Getting browser title after browser refresh
      System.out.println("Getting browser title after browser refresh: " + driver.getTitle());

      // Closing browser
      driver.quit();
   }
}

輸出

Getting browser title after launch: Selenium Practice - Student Registration Form
Getting browser title after clicking link: Selenium Practice - Login
Getting browser title after navigating back: Selenium Practice - Student Registration Form
Getting browser title after navigating forward: Selenium Practice - Login
Getting browser title after browser refresh: Selenium Practice - Login

在上面的示例中,我們在開啟的瀏覽器中啟動了一個 URL,並在控制檯中獲得了瀏覽器標題訊息 - 啟動後獲取瀏覽器標題:Selenium Practice - Student Registration Form。然後我們點選了登入連結,並收到了導航頁面的瀏覽器標題,控制檯訊息為 - 點選連結後獲取瀏覽器標題:Selenium Practice - Login

接下來,我們在瀏覽器歷史記錄中後退,並獲得了瀏覽器標題,控制檯訊息為 - 導航後退後獲取瀏覽器標題:Selenium Practice - Student Registration Form。再次,我們在瀏覽器歷史記錄中前進,並檢索了瀏覽器標題,控制檯訊息為 - 導航前進後獲取瀏覽器標題:Selenium Practice - Login。最後,我們重新整理了瀏覽器並獲得了它的標題,控制檯訊息為 - 瀏覽器重新整理後獲取瀏覽器標題:Selenium Practice - Login

示例 2

讓我們來看一個例子,我們首先啟動一個 URL 為 - 的應用程式:

https://tutorialspoint.tw/selenium/practice/login.php.

Selenium Browser Navigation 3

然後,我們將點選註冊連結,點選後,我們將導航到另一個 URL 為 - 的頁面:

https://tutorialspoint.tw/selenium/practice/register.php.

Selenium Browser Navigation 4

接下來,我們將返回瀏覽器歷史記錄,並將 URL 獲取為 -

https://tutorialspoint.tw/selenium/practice/login.php.

最後,我們將前進到瀏覽器歷史記錄,並將 URL 獲取為 -

https://tutorialspoint.tw/selenium/practice/register.php.

我們還將重新整理瀏覽器,重新整理後我們將獲得 URL 為

https://tutorialspoint.tw/selenium/practice/register.php.

程式碼實現

package org.example;

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;

public class BrowNavigationTo {
   public static void main(String[] args) throws InterruptedException {

      // Initiate the Webdriver
      WebDriver driver = new ChromeDriver();

      // adding implicit wait of 15 secs
      driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

      // launching a browser and navigate to a URL
      driver.navigate().to("https://tutorialspoint.tw/selenium/practice/login.php");

      // Getting browser title after launch
      System.out.println("Getting current URL after launch: " + driver.getCurrentUrl());

      // identify a link then click
      WebElement l = driver.findElement(By.xpath("//*[@id='collapseTwo']/div/ul/li[3]/a"));
      l.click();

      // Getting browser title after clicking link
      System.out.println("Getting current URL after clicking link: " + driver.getCurrentUrl());

      // navigate back to browser history
      driver.navigate().back();

      // Getting browser title after navigating back
      System.out.println ("Getting current URL after navigating back: " + driver.getCurrentUrl());

      // navigate forward to browser history
      driver.navigate().forward();

      // Getting browser title after navigating forward
      System.out.println("Getting current URL after navigating forward: " + driver.getCurrentUrl());

      // refresh browser
      driver.navigate().refresh();

      // Getting browser title after browser refresh
      System.out.println("Getting current URL after browser refresh: " + driver.getCurrentUrl());

      // Closing browser
      driver.quit();
   }
}

輸出

Getting current URL after launch: 
https://tutorialspoint.tw/selenium/practice/login.php
Getting current URL after clicking link:
https://tutorialspoint.tw/selenium/practice/register.php
Getting current URL after navigating back:
https://tutorialspoint.tw/selenium/practice/login.php
Getting current URL after navigating forward:
https://tutorialspoint.tw/selenium/practice/register.php
Getting current URL after browser refresh:
https://tutorialspoint.tw/selenium/practice/register.php

在上面的示例中,我們在開啟的瀏覽器中啟動了一個 URL,並在控制檯中獲得了當前 URL 訊息 - 啟動後獲取當前 URL: https://tutorialspoint.tw/selenium/practice/login.php

然後我們點選了註冊連結,並在控制檯中收到了導航後的當前 URL 訊息 - 點選連結後獲取當前 URL: https://tutorialspoint.tw/selenium/practice/register.php

接下來,我們在瀏覽器歷史記錄中後退,並在控制檯中獲得了導航後的當前 URL 訊息 - 導航後退後獲取當前 URL: https://tutorialspoint.tw/selenium/practice/login.php

再次,我們在瀏覽器歷史記錄中前進,並在控制檯中收到了導航後的當前 URL 訊息 - 導航前進後獲取當前 URL: https://tutorialspoint.tw/selenium/practice/register.php

最後,我們重新整理了瀏覽器,並在控制檯中收到了當前 URL 訊息 - 瀏覽器重新整理後獲取當前 URL: https://tutorialspoint.tw/selenium/practice/register.php

因此,在本教程中,我們討論瞭如何使用 Selenium Webdriver 執行瀏覽器導航。

廣告
© . All rights reserved.