로깅

기본적으로 ChromeDriver는 stderr에 경고/오류만 로깅합니다. 문제를 디버깅할 때는 더 자세한 로깅을 사용 설정하는 것이 도움이 됩니다.

상세 로깅을 사용 설정하려면 --verbose를 chromedriver 서버에 전달하기만 하면 됩니다. --log-path를 전달하여 로그가 stderr 대신 파일에 작성되도록 할 수도 있습니다. chromedriver 서버를 직접 시작하지 않는 경우 WebDriver 클라이언트 라이브러리를 통해 스위치를 전달해야 합니다. 안타깝게도 아직 일부 클라이언트는 이를 위한 옵션이 없습니다.

--log-path를 Chrome 실행 명령어에 전달하면 Chrome Linux 및 Mac의 stderr이 로그 파일에 저장됩니다. 그러나 Chrome은 GUI 애플리케이션이고 OS에서 ChromeDriver에서 stderr 핸들을 상속하도록 허용하지 않으므로 Windows의 stderr은 저장되지 않습니다. Windows, Linux, Mac에서 stderr을 저장하려면 CHROME_LOG_FILE 환경 변수를 사용하면 됩니다. 그러면 파일에 Chrome 로그만 포함됩니다. ChromeOptions에 logPath를 지정하면 ChromeDriver가 값을 CHROME_LOG_FILE에 복사합니다.

stderr 및 stdout 모두 Android에서 캡처되지 않습니다. stdout은 모든 플랫폼에서 콘솔 창으로 이동합니다.

C#

var service = ChromeDriverService.CreateDefaultService();

service.LogPath = "D:\\chromedriver.log";

service.EnableVerboseLogging = true;

driver = new ChromeDriver(service);

두 함수 모두 오버로드된 버전이 있습니다. API 문서를 참조하세요.

Java

System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");

System.setProperty("webdriver.chrome.verboseLogging", "true");

Python

driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", service_args=["--verbose", "--log-path=D:\\qc1.log"])

모든 언어

명령어 프롬프트/터미널에서 플래그를 사용하여 상세 로깅으로 chromedriver를 시작합니다.

--verbose --log-path=chromedriver.log

http://localhost:9515를 가리키는 RemoteWebDriver를 사용하여 테스트를 실행합니다.