[C#] Selenium 프로그램 종료 후 종료되게 하기와 Close,Quit, Dispose 차이 알아보기 Selenium에서 종료하는 명령어는 총 3가지가 있습니다. driver.Dispose(); driver.Close(); driver.Quit(); 다 종료하다는 의미를 가지고 있는데 그 차이가 무엇인지 오늘 알아보고, 프로그램 종료 후 Selenium 서.. pgh268400.tistory.com python으로 브라우저 컨트롤시에 selenium를 이용해서 컨트롤하는 경우 드라이버 생성을 특정함수 안에서 하게 되면 함수가 종료될때 브라우저도 같이 종료되는데, 가끔 종료되지 않았으면 할때 아래 방법대로 하면 됩니다.(다른 방법도 있을건데 잘 몰라서..) 핵심은 option에 add_experimental_option를 추가하고 "detach"를 True로 활성화 하면됩니다. Edge의 경우(Chrome이나 다른 브라우저는 확인하지 않아서 잘 모름, 뭐 비슷하지 않을까 합니다.) pip install msedge-selenium-tools from msedge.selenium_toos import Edge, EdgeOption 이렇게 하면 from selenium import webdriver를 하지 않아도 됩니다.(당연히 msedgedriver.exe도 받지 않아도 되고) edge_options = EdgeOptions() edge_options.use_chromium = True edge_options.add_experimental_option("detach", True) browser = Edge(options=edge_options) browser.get("http://~") 검증을 마친 후 브라우저를 닫는 것은 애플리케이션을 테스트할 때 일반적인 관행입니다. 이것은 Selenium을 사용하여 자동화 테스트를 수행하는 동안에도 따릅니다. 오늘은 브라우저를 닫는 다양한 방법에 대해 알아보겠습니다. 일러스트레이션 시나리오브라우저를 닫고 webdriver session-id가 null인지 확인하는 시나리오를 가정해 보겠습니다. 접근 방식 1: close() 메서드 사용첫 번째 접근 방식은 close() 메서드를 사용하는 것입니다. 활성 웹 브라우저를 닫습니다. 그러나 브라우저를 닫은 후 webdriver 세션이 종료되지 않습니다(session-id가 null이 아닌 상태로 유지됨). 구현
수입org.openqa.selenium. 웹드라이버; 공공의등급 Brw닫기 { 체계.setProperty("웹드라이버.크롬.드라이버", "크롬 드라이버"); } 구현을 완료한 후 이 Java 파일을 저장하고 실행해야 합니다. 위의 코드 2~6행은 Selenium에 필요한 Java 가져오기입니다. 8행과 9행은 클래스 이름과 정적 개체 선언을 설명합니다. 11행에서 Selenium webdriver에 프로젝트 디렉토리 내에서 chrome 드라이버 실행 파일을 검색하도록 지시합니다. 12~14행에서 먼저 Selenium webdriver 객체를 만들고 brw 변수에 저장합니다. 그런 다음 3초 동안 webdriver 개체에 대한 암시적 대기를 도입했습니다. 마지막으로 개봉하는 https://www.selenium.dev/ Chrome 브라우저에서 애플리케이션. 15행에서 close() 메서드를 사용하여 Chrome 브라우저를 닫았습니다. 16~17행은 getSessionId() 메서드를 사용하여 브라우저를 닫은 후 웹드라이버 세션의 현재 세션 ID를 캡처하는 데 사용됩니다. 산출 접근 방식 2: quit() 메서드 사용두 번째 접근 방식은 quit() 메서드를 사용하는 것입니다. 열려 있는 모든 브라우저를 닫습니다. 또한 브라우저를 닫으면 webdriver session-id가 null이 됩니다. 접근 방식 2로 구현 수입org.openqa.selenium. 웹드라이버; 공공의등급 Brw종료 { 체계.setProperty("웹드라이버.크롬.드라이버",
"크롬 드라이버"); } 구현을 게시합니다. 이 Java 파일을 저장하고 실행해야 합니다. 위의 코드 2~6행은 Selenium에 필요한 Java 가져오기입니다. 8행과 9행은 클래스 이름과 정적 객체 선언을 설명합니다. 11행에서 Selenium webdriver에 프로젝트 디렉토리 내에서 chrome 드라이버 실행 파일을 검색하도록 지시합니다. 12~14행에서 먼저 Selenium webdriver 객체를 만들고 brw 변수에 저장합니다. 그런 다음 3초 동안 webdriver 개체에 대한 암시적 대기를 도입했습니다. 마지막으로 개봉하는 https://www.selenium.dev/ Chrome 브라우저에서 애플리케이션. 15행에서 우리는 quit() 메소드를 사용하여 Chrome 브라우저를 닫았습니다. 16~17행은 getSessionId() 메서드를 사용하여 브라우저를 종료한 후 웹드라이버 세션의 현재 세션 ID를 캡처하는 데 사용됩니다. 산출 결론따라서 우리는 Selenium을 사용하여 브라우저를 닫는 방법을 보았습니다. 먼저 close() 메서드를 사용했고 두 번째 방법은 quit() 메서드를 기반으로 합니다. 또한 quit() 메서드가 Selenium 웹 드라이버 세션을 종료하는 데 도움이 되는 방법도 보았습니다. |