Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

close()와 quit()의 차이점 설명

<시간/>

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