Java에서 Selenium을 사용할 때, 드라이버를 자동 설치하는 방법에 대해서 소개합니다.
Selenium 라이브러리를 사용할 때는 현재 PC에 설치된 브라우저 버전에 맞는 드라이버 버전을 직접 다운로드 받아서 사용해야 하는데요. 브라우저 버전이 변경되거나, 다른 환경의 PC에 배포하는 프로그램의 경우, 드라이버 버전을 맞춰주는 것이 매우 까다롭습니다.
다행히, 이런 수고로움을 대신해줄 WebDriverManager라는 라이브러리가 있습니다.
WebDriverManager는 Selenium을 사용하기 전에 현재 PC에 맞는 드라이버를 다운로드해 줍니다. WebDriverManager를 사용하는 방법에 대해서 알아보겠습니다.
1. WebDriverManager 라이브러리 & 의존성 설정
GitHub - WebDriverManager에서 오픈소스로 라이브러리를 제공하고 있습니다. jar를 직접 다운로드 받아서 자신의 프로젝트에서 사용할 수 있습니다.
또는 Maven을 사용하는 프로젝트는 다음과 같이 의존성을 설정할 수 있습니다.
<dependencies>
<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager/5.0.3 -->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.0.3</version>
</dependencies>
2. Sample code
아래와 같이 라이브러리를 이용하여 Selenium 사용 전에 드라이버가 설치되도록 할 수 있습니다.
드라이버 사용 전에, WebDriverManager.chromedriver().setup()
를 호출하시면 현재 PC에 설치된 크롬 브라우저 버전에 맞는 드라이버가 설치됩니다.
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
class ChromeTest {
public static void main(String[] args) {
// 1. Auto installs
WebDriverManager.chromedriver().setup();
// 2. use the selenium with the driver
WebDriver driver = new ChromeDriver();
driver.get("https://google.com");
// 3. quit
driver.quit();
}
}
3. 다른 종류의 브라우저 드라이버 설치
Chrome 외에 다른 브라우저의 드라이버 설치 기능도 제공하고 있습니다. 아래 코드를 참고하셔서 자신이 사용하는 브라우저의 드라이버를 설치하실 수 있습니다.
WebDriverManager.chromedriver().setup();
WebDriverManager.firefoxdriver().setup();
WebDriverManager.edgedriver().setup();
WebDriverManager.operadriver().setup();
WebDriverManager.chromiumdriver().setup()
WebDriverManager.iedriver().setup();
Loading script...
Related Posts
- Java - Unsupported class file major version 61 에러
- Java - String.matches()로 문자열 패턴 확인 및 다양한 예제 소개
- Java - 문자열 공백제거 (trim, replace)
- Java - replace()와 replaceAll()의 차이점
- Java - ArrayList 초기화, 4가지 방법
- Java - 배열 정렬(Sorting) (오름차순, 내림차순)
- Java - 문자열(String)을 비교하는 방법 (==, equals, compare)
- Java - StringBuilder 사용 방법, 예제
- Java - 로그 출력, 파일 저장 방법 (Logger 라이브러리)
- Java IllegalArgumentException 의미, 발생 이유
- Java - NullPointerException 원인, 해결 방법
- Seleninum의 ConnectionFailedException: Unable to establish websocket connection 해결
- Java - compareTo(), 객체 크기 비교
- Java - BufferedWriter로 파일 쓰기
- Java - BufferedReader로 파일 읽기
- Java charAt() 함수 알아보기
- Java - BigInteger 범위, 비교, 연산, 형변환
- Java contains()로 문자(대소문자 X) 포함 확인
- Java - Set(HashSet)를 배열로 변환
- Java - 문자열 첫번째 문자, 마지막 문자 확인
- Java - 문자열 한글자씩 자르기
- Java - 문자열 단어 개수 가져오기
- Java - 1초마다 반복 실행
- Java - 배열을 Set(HashSet)로 변환
- Java - 여러 Set(HashSet) 합치기
- Java - 명령행 인자 입력 받기
- Java - 리스트 역순으로 순회, 3가지 방법
- Java - 특정 조건으로 리스트 필터링, 3가지 방법
- Java - HashMap 모든 요소들의 합계, 평균 계산
- Java - 특정 조건으로 HashMap 필터링
- Java - 싱글톤(Singleton) 패턴 구현
- Java - 숫자 왼쪽에 0으로 채우기
- Java - String 배열 초기화 방법
- Java - 정렬된 순서로 Map(HashMap) 순회
- Java - HashMap에서 key, value 가져오기