Rumah  >  Artikel  >  Java  >  Bagaimana untuk menutup tetingkap tertentu menggunakan Selenium WebDriver dan Java?

Bagaimana untuk menutup tetingkap tertentu menggunakan Selenium WebDriver dan Java?

WBOY
WBOYke hadapan
2023-09-08 10:45:01964semak imbas

Kami boleh menutup tetingkap tertentu dengan pemacu web Selenium. Kaedah getWindowHandles dan getWindowHandle boleh digunakan untuk mengendalikan tingkap kanak-kanak. Kaedah getWindowHandles digunakan untuk menyimpan semua pemegang tetingkap yang dibuka dalam struktur data Tetapkan.

Kaedah getWindowHandle digunakan untuk menyimpan pemegang tetingkap tetingkap penyemak imbas dalam fokus. Kami perlu menambah penyataan import java.util.Set dan import java.util.List untuk menampung struktur data Set dalam kod kami.

Secara lalai, objek pemacu hanya boleh mengakses elemen tetingkap induk. Untuk menukar fokusnya daripada induk kepada tetingkap anak, kami akan mengambil bantuan kaedah switchTo().window dan lulus id pemegang tetingkap tetingkap anak sebagai hujah kepada kaedah tersebut. Kemudian untuk beralih dari tetingkap anak ke tetingkap induk, kami akan mengambil bantuan kaedah switchTo().window dan lulus id pemegang tetingkap induk sebagai hujah kepada kaedah tersebut.

Contoh

Pelaksanaan Kod.

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.Set;
public class CloseSpecificWindow {
   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://secure.indeed.com/account/login");
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //window handle of parent window
      String m = driver.getWindowHandle();
      driver.findElement(By.id("login-google-button")).click();
      // store window handles in Set
      Set w = driver.getWindowHandles();
      // iterate window handles
      for (String h: w){
         // switching to each window
         driver.switchTo().window(h);
         String s= driver.getTitle();
         // checking specific window title
         if(s.equalsIgnoreCase("Sign in - Google Accounts")){
            System.out.println("Window title to be closed: "+ driver.getTitle());
            driver.close();
         }
      }
      // switching parent window
      driver.switchTo().window(m);
      driver.quit();
   }
}

输出

如何使用Selenium WebDriver和Java关闭特定的窗口?

Atas ialah kandungan terperinci Bagaimana untuk menutup tetingkap tertentu menggunakan Selenium WebDriver dan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Kelas CaseFormat dalam JavaArtikel seterusnya:Kelas CaseFormat dalam Java