[JAVA] selenium 세팅
1. 환경
- windows 11
- java JDK 17
- springboot 3.11
- MS edge
2. selenium
웹 크롤링(crawling), 웹 스크랩핑(Scraping)을 하는 데 사용되는 라이브러리
- 빅데이터관련, 동적인 자료를 수집할 때 주로 사용한다
- 브라우저 드라이버를 사용하여 동적 데이터도 수집 가능하다
- Jsoup에 비해 속도는 느리다
- Jsoup
- HTTP Request를 사용하여 정적으로 자료를 수집하는 라이브러리
3. Web Driver
여기서는 Microsoft Edge 브라우저를 사용하여 selenium을 실행한다 다른 브라우저의 경우 알맞는 브라우저 드라이버를 설치하면 된다
그리고 버전에 맞는 웹 드라이버를 다운로드해서 적절한 폴더에 옮겨준다
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:,’ 주소를 가진 빈사이트가 열릴 수 있음
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.