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.
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(); } }
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!