일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Vue.config
- vue3
- SQLP
- Tomcat Error
- Visual Studio 2015 삭제
- Visual Studio 강제 삭제
- Nginx Reverse Proxy
- vue
- MSSQL 문자열
- Vue configureWebpack
- Visual Studio 재설치
- Selenium 설치
- 웹 크롤링
- vue.js
- Visual Studio 패키지에 실패했습니다.
- 웹 자동화
- .NET Core
- Visual Studio 2015 강제 삭제
- Vue3 configureWebpack
- MSSQL 동적 쿼리
- tomcat
- 디자인 패턴 사례
- .NET Core Proxy
- 프록시 예제
- Visual Studio 2015 설치
- Selenium 환경
- 업무 자동화
- spring
- javascript
- 리버스 프록시 예제
- Today
- Total
금백조의 개발 블로그
[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축2(feat. WebDriver 설치) 본문
서론
이전에 작성했던 [Selenium]웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven) 글에 이어서 2편을 작성했습니다. 2편에서는 Selenium 웹 자동화를 위해 필요한 WebDriver를 설치하고 프로젝트에서 WebDriver를 통해 자동화할 특정 사이트(예제에서는 매일경제 사이트)를 접속해보겠습니다. 각 브라우저들의 WebDriver가 존재하지만 이 글에선 Chrome 브라우저를 기준으로 진행하겠습니다. 이전 글을 읽지 않으신 분들을 위해 이전 글 링크를 남겨둡니다.
[실행 환경]
openJDK 1.8
Eclipse
Chrome 90.0.4430.85
[이전 글]
1. [Selenium] 웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven)
goldswan.tistory.com/17?category=475248
본론
진행하기 전 WebDriver의 정의에 대해 살펴보겠습니다. Selenium 공식 홈페이지인 www.selenium.dev 에서 정의하는 WebDriver는 아래와 같습니다.
[웹 드라이버(WebDriver)]
웹 드라이버WebDriver 는 브라우저를 조종하고 테스트를 진행할 수 있도록 제작사에서 제공하는 브라우저 자동화 API를 사용합니다. 이는 진짜 사용자가 브라우저를 이용하는 것과 유사합니다. 웹 드라이버 API를 애플리케이션의 코드로 컴파일할 필요가 없기 때문에, 독립적으로 작동합니다.
더 나아가, 실시간으로 사용하는 것처럼 애플리케이션을 테스트합니다.
저희는 브라우저 조종을 이용하여 사용자가 하는 단순 반복 업무를 자동화하는 것이 목표이므로 WebDriver가 필요합니다.
[WebDriver 설치]
1. Chrome WebDriver를 다운로드하기 위해 아래의 링크에 접속합니다.
chromedriver.chromium.org/downloads
2. WebDriver를 설치하기 위해선 우선 브라우저의 버전을 알아야 합니다. 아래와 같이 [오른쪽 상단 점 3개 버튼 -> 도움말 -> Chrome 정보](90.x 버전 기준)를 클릭하여 Chrome 브라우저의 버전을 확인합니다.
3. 버전과 운영체제에 맞는 WebDriver를 다운로드합니다. (저의 브라우저는 [90.0.4430.85] 버전이고 윈도우 운영체제를 사용하므로 ChromeDriver 90.0.4430.24를 클릭하여 chromedriver_win32.zip를 다운로드했습니다.)
4. 다운로드한 압축파일을 압축해제 후 특정 경로에 복사합니다. (저는 C: 아래에 selenium 폴더를 만들어서 C:\selenium 경로에 해제했습니다.)
5. 이전에 생성한 프로젝트 하단 트리 메뉴의 src/main/java 에서 오른쪽 클릭-> New -> Class를 선택합니다.
6.New Java Class 창에서 Name에 "Main"을 기입 후 public static void main(String[] args) 옵션을 체크 후 Finish 버튼을 누릅니다.
7. 생성된 Main.java를 더블클릭해서 열고 기존 소스를 지운 후 아래의 소스코드를 복사 붙여 넣기 합니다. 아래 예제는 매일경제 사이트(www.mk.co.kr/)를 WebDriver를 통해 접속하는 예제입니다.
[Main.java]
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Main {
public static void main(String[] args) {
WebDriver driver = null;
System.setProperty("webdriver.chrome.driver", "C:\\selenium\\chromedriver_win32\\chromedriver.exe");//Web Driver 압축 해제 경로 입력
driver = new ChromeDriver();//WebDriver 객체 생성
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);//로드 웹페이지에서 특정 요소를 찾을 때까지 기다리는 시간 설정
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);//페이지로드가 완료 될 때까지 기다리는 시간 설정
driver.manage().window().maximize();//브라우저 창 최대화
driver.get("https://www.mk.co.kr/");//웹 자동화 작업을 할 접속 사이트 명시
}
}
[예시]
8. 프로젝트 우클릭 -> Run As -> 2 Java Application을 선택하여 프로젝트를 실행시킵니다.
9. WebDriver를 통해 매일경제 사이트를 접속했는지 확인합니다. 아래의 화면처럼 나오면 성공한 것입니다!
결론
오늘은 WebDriver를 설치 후 Selenium 프로젝트에서 웹 자동화할 사이트를 접속하는 것까지 진행을 했습니다. [Selenium]웹 자동화를 위한 Selenium 개발 환경 구축 3 에서는 개발을 더 편리하게 도와줄 확장 프로그램 사용법에 대해서 작성할 예정입니다. 궁금한 부분에 대해 댓글 남겨주시면 제가 아는 한도 내에서 답변드리겠습니다. 긴 글 읽어주셔서 감사합니다!
Reference
[Selenium 브라우저 자동화 프로젝트 > 시작하기 > 빠르게 살펴보기]
www.selenium.dev/documentation/ko/getting_started/quick/
[Selenium WebDriver의 동기화 또는 대기]
seleniumatfingertips.wordpress.com/tag/pageloadtimeout/
'Web > Selenium' 카테고리의 다른 글
[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축3 - 웹탐색, 데이터 추출(feat. cssSelector) (0) | 2021.05.08 |
---|---|
[Selenium]웹 자동화를 위한 Selenium 개발 환경 구축1(feat. Maven) (0) | 2021.04.16 |