[Selenium] GeckoDriver로 Firefox 실행하기

2017. 8. 31. 15:32Others

Selenium은 웹브라우저 자동화 도구입니다. 여기에서는 Selenium 3.0을 통해 Firefox 브라우저를 실행하는 방법에 대해 소개할 예정입니다. 이 포스트의 실행환경은 다음과 같습니다.

  • Selenium - Version 3.4
  • Firefox - Version 55.0
  • GeckoDriver - Version 0.18.0

Gecko란 무엇인가?

Gecko는 모잘리 재단에 의해 개발된 웹브라우저 엔진입니다. 수많은 어플리케이션에서 Gecko 엔진을 사용하고 있으며 대표적으로는 Firefox, Thunderbird 등이 있습니다.

GeckoDriver란 무엇인가?

Selenium이 3.0으로 업데이트되면서 GeckoDriver를 따로 설치하도록 변경되었습니다. GeckoDeriver는 Selenium 3.0 WebDerver가 Firefox와 같은 Gecko 기반 웹브라우저와 상호작용하는 구현체 입니다. GeckoDriver는 Selenium WebDriver로 작성된 코드를 해석하고 브라우저와 상호작용하며 응답결과를 반환하는 역할을 합니다.

GeckoDriver 누락 시 오류메시지

Selenium 2.0~2.53까지는 Selenium WebDriver만 설치하고 아래 코드를 실행하면 FireFox를 실행할 수 있었습니다.

public class FirefoxTest 
{
    public static void main(String[] args) 
    {
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.google.com");
    }
}

하지만 3.0부터는 아래와 같은 Exception을 발생시킵니다.

Java
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases.

GeckoDriver 설치하기

  1. Firefox를 실행한 후 Alt키를 눌러 메뉴를 엽니다.
  2. 메뉴 - 도움말 - Firefox 정보를 클릭합니다.
  3. Firefox가 32비트 인지 64비트인지 확인합시다.
  4. https://github.com/mozilla/geckodriver/releases 로 이동합니다.
  5. 32비트면 win32, 64비트면 win64를 다운로드 합니다.
  6. 압축을 풀고 나타나는 GeckoDriver 실행파일을 적당한 지점에 위치시킵니다.
  7. Java 코드에서는 다음과 같이 System.setProperty()를 통해 해당 geckodriver.exe 경로를 지정해주시면 정상적으로 실행할 수 있습니다.
    public class FirefoxTest 
    {
        public static void main(String[] args) 
        {
            System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver.exe");
     
            FirefoxDriver driver = new FirefoxDriver(options);
            driver.get("http://www.google.com");
        }
    }
    

참고1: 환경변수 설정으로도 geckodriver.exe 위치를 지정해줄수 있습니다.

  1. [제어판] - [시스템 및 보안] - [시스템]으로 이동 후 [고급 시스템 설정]을 클릭합니다.
  2. [고급] 탭에서 [환경변수] 버튼을 클릭합니다.
  3. [시스템 변수]에 'Path' 항목을 찾은 뒤 하단의 [편집] 버튼을 클릭합니다.
  4. [새로 만들기] 버튼을 클릭하고 위에서 다운로드 받고 압축을 풀었던 GeckoDriver의 경로를 입력합니다.