포스트

[JAVA] selenium 세팅

1. 환경

  • windows 11
  • java JDK 17
  • springboot 3.11
  • MS edge

2. selenium

웹 크롤링(crawling), 웹 스크랩핑(Scraping)을 하는 데 사용되는 라이브러리

  • 빅데이터관련, 동적인 자료를 수집할 때 주로 사용한다
  • 브라우저 드라이버를 사용하여 동적 데이터도 수집 가능하다
  • Jsoup에 비해 속도는 느리다
Jsoup
HTTP Request를 사용하여 정적으로 자료를 수집하는 라이브러리

selenium 다운로드 페이지


3. Web Driver

여기서는 Microsoft Edge 브라우저를 사용하여 selenium을 실행한다 다른 브라우저의 경우 알맞는 브라우저 드라이버를 설치하면 된다

먼저 자신의 브라우저의 버전을 확인한다 image

Edge driver 다운로드 사이트

그리고 버전에 맞는 웹 드라이버를 다운로드해서 적절한 폴더에 옮겨준다

edge가 최신 버젼이라 맞는 버전이 없는 경우 가장 가까운 버전을 다운 받아준다
그러면 경고가 뜨긴 하지만 실행 시 알아서 가까운 버전에 맞추어 실행된다
혹시나 오류가 나는 경우 브라우저의 버전을 다운그레이드 해주어야 한다


4. spring에서 실행

4.1 denpendency

1
2
3
4
5
6
7
8
9
10
// build.gradle
implementation'org.seleniumhq.selenium:selenium-java:4.9.1'

// pom.xml
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.9.1</version>
</dependency>

4.2 간단한 예제 code

1
2
3
4
5
6
7
8
9
10
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeChromeDriver;

public void open() {
    System.getProperty("webdriver.edge.driver", "C:\\worktool\\msedgedriver.exe");  // 웹드라이버 위치
    WebDriver driver = new EdgeDriver();
    driver.get("https://www.naver.com");  // 제어할 사이트 열기
                    
    driver.quit();  // 종료
}

http://, https://를 적지 않으면 ‘data:,’ 주소를 가진 빈사이트가 열릴 수 있음

참고
selenium 공식 documentation

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.