Selenium Exception NoSuchDriverException 해결 방법

제가 고객님의 요구에 프로그램을 제작하고 있었습니다. Selenium 을 활용한 특정 사이트 반복 작업이었습니다.
저는 프로그램이 잘 작동되는것을 확인하고 고객님께 전달 하였습니다.
그렇지만 고객님께서는 프로그램이 동작하지 않는다고 호소 하셨고 그 원인을 파악하던 중에 다음과 같은 에러가 발생하고 있음을 확인하였습니다. NoSuchDriverException 발생 “message”: “Driver unavailable: Driver path: ” 로그가 표시됩니다.

Table of Contents

증상

너무나도 단순한 코드를 넣었음에도 예외 발생하고 있었습니다.
셀레늄 버전은 아래처럼이고

Selenium Exception NoSuchDriverException 해결 방법
ChromeDriverService service = ChromeDriverService.CreateDefaultService();
ChromeOptions options = new ChromeOptions();
var driver = new ChromeDriver(service, options);

이렇게 간단한 코드인데

OpenQA.Selenium.NoSuchDriverException
  HResult=0x80131500
  메시지=Unable to obtain chrome using Selenium Manager; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
  소스=WebDriver
  StackTrace:
   at OpenQA.Selenium.DriverFinder.FullPath(DriverOptions options)
   at OpenQA.Selenium.Chromium.ChromiumDriver.GenerateDriverServiceCommandExecutor(DriverService service, DriverOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Chromium.ChromiumDriver..ctor(ChromiumDriverService service, ChromiumOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
   at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options)
   at Web사이트테스트.frmMain1.GoodChoice(ChromeDriverService service, ChromeOptions options) in D:\새폴더 (1)\Web사이트테스트\frmMain1.cs:line 285

  이 예외는 원래 
    [외부 코드] 호출 스택에서 throw되었습니다.

내부 예외 1:
WebDriverException: Error starting process: D:\새폴더 (1)\Web사이트테스트\bin\Debug\selenium-manager/windows/selenium-manager.exe  --browser "chrome" --output json

내부 예외 2:
WebDriverException: Selenium Manager process exited abnormally with 69 code: D:\새폴더 (1)\Web사이트테스트\bin\Debug\selenium-manager/windows/selenium-manager.exe  --browser "chrome" --output json
Standard Output >>
{
  "logs": [
    {
      "level": "ERROR",
      "timestamp": 1696395467,
      "message": "Driver unavailable: Driver path: "
    }
  ],
  "result": {
    "code": 69,
    "message": "Driver unavailable: Driver path: ",
    "driver_path": "",
    "browser_path": ""
  }
}

이런 오류가 발생했습니다.

해결방법

처음엔 그저 ChromeDriver 가 없어서 인가 하고 강제로 복사도 해보고 이것 저것 해보았습니다.

그러던중 원인을 찾았고 그 원인을 공개합니다.

원인은 “한글 Path 가 포함되어 있었기 때문이었습니다.

위의 실행 폴더를 보면 D:\새폴더 입니다. “새폴더” 를 영문으로 바꾸니 그냥 실행 되더군요. Selenium 최신 버전은 수정이 되길 기대합니다.

한글 Path 를 없애니 잘 작동함을 알았고 고객님께 한글 Path 가 포함되지 않는 폴더에서 실행해야 한다고 전달하고 마무리

1 thought on “Selenium Exception NoSuchDriverException 해결 방법”

  1. 우와~~ 진짜 생각지도 못한 오류 였네요. ㅎㅎㅎ
    덕분에 몇 시간 써치하고 드라이버 이것 저것 설치하고 있었는데.
    덕 분에 잘 해결되었습니다.
    대단히 감사합니다. ^^

    응답

Leave a Comment