Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 샤로수길 데이트
- 홀리스틱 유기농
- 티켓팅메크로
- 쿠팡메크로
- 반려견 열사병
- 강아지 홀리스틱
- 반려견 유기농
- 강아지종류
- 닥스훈트
- 강아지
- 강아지 유기농 사료
- 자동화봇
- 반려견 더위
- 반려견
- 강아지 열사병
- 반려견 사료등급
- 강아지 종류
- 반려견 종류
- 강아지 유기농
- 반려견 유기농 사료
- 강아지 더위
- 쿠팡매크로
- 반려견 홀리스틱
- 국비지원 예습
- 서울대입구 맛집
- 샤로수길 맛집
- 동인천 맛집
- 부산 맛집
- 티켓팅매크로
- 신포동 맛집
Archives
- Today
- Total
심심한잉여의 잡동사니
[JAVA/셀레니움]JAVA로 셀레니움 다루기 본문
반응형
셀레니움은 주로 갯글 봇, 자동 게시글 업로드 등 다양하게 활용이 되는 브라우저 자동화 프레임워크로 볼 수 있다.
다양한 곳에서 업무 자동화 또는 웹 매크로를 제작할 때 사용되며 주로 파이썬을 통해 사용을 하는 것 같다.
이를 한번 찍먹을 해봄으로써 추후 비슷한 기능이 필요할 때 사용해보려고 한다.
- 셀레니움 사용방법
JAVA와 크롬을 이용하여 만들어보도록 하자
위 캡쳐본에서 나온것과 같이 크롬 브라우저 정보를 확인하고 해당 버전에 맞는 chrome WebDriver를 다운로드 받는다.
웹 드라이버 다운로드 링크 : https://chromedriver.chromium.org/downloads
위 링크에서 확인한 크롬 버전에 맞는 웹 드라이버를 다운로드 받는다.
셀레니움(라이브러리,jar) 다운로드 링크 : https://www.selenium.dev/downloads/
웹 드라이버와 셀레니움 라이브러리를 다운로드 받았다면
이를 통해 네이버에 로그인하는 예제를 만들어보자.
먼저 준비된 준비물(웹드라이버, 셀레니움 라이브러리)을 가지고 프로젝트를 만든 후 라이브러리를 등록하고
아래의 예제 코드와 같이 작성한 후 실행하면 된다.
public class Test {
public static void main(String[] args) throws IOException {
Test test = new Test();
test.crawl();
}
//WebDriver
private WebDriver driver;
private WebElement webElement;
//Properties
public static final String WEB_DRIVER_ID = "webdriver.chrome.driver";
public static final String WEB_DRIVER_PATH = "C:\\dev\\selenium\\chromedriver_win32\\chromedriver.exe";
//크롤링 할 URL
private String base_url;
public Test() throws IOException {
super();
//System Property SetUp
System.setProperty(WEB_DRIVER_ID, WEB_DRIVER_PATH);
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
options.addArguments("--disable-popup-blocking");
driver = new ChromeDriver(options);
base_url = "https://www.naver.com/";
}
public void crawl() {
try {
driver.get(base_url);
webElement = driver.findElement(By.className("MyView-module__link_login___HpHMW"));
webElement.click();
webElement = driver.findElement(By.id("id"));
webElement.sendKeys("아이디");
webElement = driver.findElement(By.id("pw"));
webElement.sendKeys("비밀번호");
webElement = driver.findElement(By.id("log.login"));
webElement.click();
} catch (Exception e) {
e.printStackTrace();
} finally {
driver.close();
}
}
}
위와 같이 코드를 작성하여 실행하면
이런 모양으로 만들어 질 것이다.
정상적으로 아이디와 패스워드를 작성 후 클릭하게 만들었다면 봇 방지 시스템을 보게 되겠지만 예제이기 때문에 여기까지만 하는 것으로 하겠다.
필자는 이 기능들을 가지고 추후 웹을 통한 자동화가 필요한 경우 사용을 해보고자 한다.
반응형
'코딩일기 > Java' 카테고리의 다른 글
[JAVA/크롤링]Jsoup을 이용한 Java 크롤링 (0) | 2022.11.15 |
---|---|
[JAVA] 스트림(Stream) 정리 (0) | 2022.09.20 |
[Java] 자바 컬렉션(Collection) 구조 정리 (0) | 2022.05.02 |
[JAVA] 어노테이션(Anotation) (0) | 2022.04.12 |
[Java] 리플렉션 Class 클래스 (0) | 2022.04.11 |