728x90
반응형
Java에서 HTML 화면을 이미지로 저장하려면 여러 라이브러리 중 하나를 사용해야 합니다. 대표적으로 Selenium과 headless 브라우저를 사용하는 방법이 있습니다.
반응형
아래는 Selenium을 사용하여 HTML 화면을 이미지로 저장하는 간단한 예시 코드입니다. 이를 위해 Selenium과 WebDriver를 사용할 수 있는 라이브러리를 프로젝트에 추가해야 합니다.
728x90
1. 의존성 추가
Maven을 사용한다면, `pom.xml` 파일에 아래 의존성을 추가합니다:
<dependencies>
<!-- Selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version> <!-- 현재 최신 버전 확인 필요 -->
</dependency>
</dependencies>
2. Java 코드 작성
다음은 HTML 화면을 이미지로 저장하는 Java 코드입니다.
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class HtmlToImage {
public static void main(String[] args) {
// WebDriver 설정 (ChromeDriver 사용 예시)
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
try {
// 웹 페이지 열기
driver.get("https://example.com");
// 스크린샷 찍기
File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
// 저장할 파일 경로 설정
File destinationFile = new File("path/to/save/screenshot.png");
// 스크린샷 파일을 지정된 경로로 복사
FileUtils.copyFile(screenshot, destinationFile);
System.out.println("스크린샷이 저장되었습니다: " + destinationFile.getAbsolutePath());
} catch (IOException e) {
e.printStackTrace();
} finally {
// WebDriver 종료
driver.quit();
}
}
}
이 코드는 ChromeDriver를 사용하고 있으므로, ChromeDriver의 경로를 올바르게 설정해주어야 합니다. 또한 `https://example.com` 부분을 원하는 HTML 페이지의 주소로 변경하세요. 코드 실행 후, 스크린샷은 `path/to/save/screenshot.png` 경로에 저장됩니다.
http://blog.naver.com/PostView.nhn?blogId=backma386&logNo=20106076796&parentCategoryNo=7&viewDate=¤tPage=1&listtype=0
http://blog.daum.net/tejateja/180
728x90
반응형
'study > TIP' 카테고리의 다른 글
CUBRID 한글 초성 검색 (2) | 2024.03.07 |
---|---|
java array copy (0) | 2024.03.03 |
한글주소 인코딩, url encode (1) | 2024.02.27 |
컬럼의 항목별 5건씩 뽑아주세요 (0) | 2024.02.23 |
엑셀 여러 셀에 대한 입력 체크 (0) | 2024.02.21 |