ความแตกต่างระหว่างเมธอด close() และ quit() มีการระบุไว้ด้านล่าง กล่าวโดยสรุป ทั้งสองวิธีปิดเบราว์เซอร์และไม่ต้องการพารามิเตอร์ใดๆ
หมายเลขซีเรียล | ปิด() | เลิก() |
---|---|---|
1 | close() วิธีการปิดเบราว์เซอร์ที่อยู่ในโฟกัส | quit() วิธีการปิดเบราว์เซอร์ทั้งหมด |
2 | close() วิธีการปิดอินสแตนซ์ WebDriver ที่ใช้งานอยู่ | quit() วิธีการปิดอินสแตนซ์ WebDriver ที่ใช้งานอยู่ทั้งหมด |
ตัวอย่าง
import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.Set; import java.util.Iterator; import org.testng.annotations.Test public class WindowHandles{ @Test public void Browserclose_quit() throws Exception { System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.get("https://www.tutorialspoint.com/index.htm"); String currentwindow = driver.getWindowHandle(); Set<String> allWindows = driver.getWindowHandles(); Iterator<String> i = allWindows.iterator(); while(i.hasNext()){ String childwindow = i.next(); if(!childwindow.equalsIgnoreCase(currentWindow)){ driver.switchTo().window(childwindow); System.out.println("The child window is "+childwindow); // close() method shall the close the child window which //is the browser in focus //the parent window shall still be open driver.close() } else { System.out.println("There are no children"); } } // quit() will close all the active webdriver instances, so now the parent //window will close driver.quit(); } }