ความแตกต่างระหว่าง close() และ quit() แสดงด้านล่างนี้ สรุปคือทั้งสองเมธอดปิดเบราว์เซอร์และไม่ต้องการพารามิเตอร์
| ลำดับ | close() | quit() |
|---|---|---|
| 1 | close() จะปิดเบราว์เซอร์ที่อยู่ในโฟกัส | quit() ปิดเบราว์เซอร์ทั้งหมด |
| 2 | close() ปิด WebDriver instance ที่ทำงานอยู่ | quit() ปิด WebDriver instances ทั้งหมดที่ทำงานอยู่ |
ตัวอย่าง
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(); } }