공부방/셀레니움_Java

4.셀레니움 setup 코드

Winter_Snow 2023. 6. 16. 20:09

필자는 이전 Dependency 설정에 셀레니움 4버전을 사용하였다. 
기존 3버전과의 큰 차이라고 함은 ChromeDriver에 대한 설정을 따로 안하며, 
동적으로 자신의 Chrome 버전에 맞게 다운해주고 연결하는 설정이 가능하다는 것이다. 
기존 소스와 현재 나의 소스를 비교하는 방식으로 작성하겠다.

[기존]

1. 자신의 크롬 버전에 맞는 크롬 드라이버를 설치한다. (https://chromedriver.chromium.org/downloads)
2. Java코드에 셀레니움 import를 위한 jar를 다운받는다.(maven, gradle의 경우 dependency 설정으로 가능함) 
3. 아래 소스를 통하여 다운받은 크롬드라이버로 브라우저를 통제한다.

WebDriver driver = webdriver.Chrome("웹드라이버 설치된 경로");
driver.get('열려고 하는 웹 사이트 url 주소');

-> 기존 프로그래밍의 문제는 확연히 드러난다.
자신만 사용한다면, ChromeDriver의 버전도 알고 사용하는데 아무런 문제가 없겠지만,
프로그램을 만들어서 배포하는 환경이라면 상대측의 크롬버전이 달랐을 때 문제가 발생할 것이다.
즉, 프로그램이 크롬드라이버 버전에 종속적이게 된다.
셀레니움 4버전 대에서는 사용자의 크롬버전에 따라 동적으로 크롬드라이버를 다운받을 수 있는 방법이 생겨서 
셀레니움이 점점 더 유용해지고 있다.

[내 소스]

복붙하지말구 따라서 작성해보세요!

참조 : (https://tpwls1998.tistory.com/71)
이전 글에 대해서 보았다면, "io.github.bonigarcia:webdrivermanager:5.3.3" 라는 dependency를 보았을 것이다. 
이 오픈소스가 바로 크롬을 동적으로 받아서 사용할 수 있는 방법을 제시한다. 
사용법은 jar를 받거나 dependency 설정을 하고, 
WebDriverManager.chromedriver().setup();
코드를 사용한 순간에 자신의 chrome버전에 맞는 chromeDriver를 다운받게 된다.
해당 코드 이후에는 기존 셀레니움 코드와 동일하게 사용하면 된다.
WebDriver driver = new ChromeDriver([옵션]);

 

'공부방 > 셀레니움_Java' 카테고리의 다른 글

5. 셀레니움 동작 코드  (0) 2023.06.16
2.셀레니움의 동작원리  (0) 2023.06.16
1.셀레니움이란  (0) 2023.06.16
3.셀레니움 Java Dependency  (0) 2023.06.16