使用 Selenium WebDriver 和 Java 切換標籤頁。


我們可以使用 Selenium 切換標籤頁。首先,我們必須在新標籤頁中開啟一個連結。需要使用 **Keys** 的 chord 方法以及 **sendKeys** 方法。Keys.chord 方法允許您一次傳遞多個鍵。這些鍵或字串組作為引數傳遞給該方法。

我們將 **Keys.CONTROL** 和 **Keys.ENTER** 作為引數傳遞給 Keys.chord 方法。然後將整個字串作為引數傳遞給 **sendKeys** 方法。最後,sendKeys 方法必須應用於透過 **driver.findElement** 方法識別的連結。

語法

String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
driver.findElement(By.xpath("//*[text()='Terms of Use']")). sendKeys(clickl);

然後將所有開啟的視窗 ID 儲存在 ArrayList 中,並使用 **switchTo** 方法將驅動程式焦點切換到新標籤頁。然後將新標籤頁的視窗 ID 作為引數傳遞給該方法。

最後,在新標籤頁上執行任務後,我們可以使用 **switchTo** 方法切換回父視窗,並將父視窗的視窗 ID 作為引數傳遞給該方法。

讓我們在兩個標籤頁之間切換 -

示例

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;
import java.util.List;
import java.util.ArrayList;
public class SwitchTab{
   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/about/about_careers.htm");
      // wait of 5 seconds
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      // Keys.Chord string
      String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
      // open the link in new tab, Keys.Chord string passed to sendKeys
      driver.findElement(
      By.xpath("//*[text()='Terms of Use']")).sendKeys(clickl);
      Thread.sleep(1000);
      // hold all window handles in array list
      ArrayList<String> newTb = new ArrayList<String>(driver.getWindowHandles());
      //switch to new tab
      driver.switchTo().window(newTb.get(1));
      System.out.println("Page title of new tab: " + driver.getTitle());
      //switch to parent window
      driver.switchTo().window(newTb.get(0));
      System.out.println("Page title of parent window: " + driver.getTitle());
      driver.quit();
   }
}

輸出

更新於: 2020-11-30

13K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.