-
[Java] Selenium(셀레니움)프로그래밍/JAVA 2022. 8. 18. 12:21728x90
Selenium은 웹 크롤러를 간편하게 테스트하고 만들기 위한 프로그램으로 C#, java, PHP, Python 등 많은 언어를 지원하고 리눅스, 원도우, 맥등 다양한 환경에서 구동이 가능하다.
1. 셀리니움 라이브러리 다운로드
https://www.selenium.dev/downloads/
Downloads
Selenium automates browsers. That's it!
www.selenium.dev
라이브러리를 추가해준다.
2. 크롬드라이버 설치
먼저 크롬드라이버 설치 이전에 크롬 버전을 알아야한다. 아래와 같이 들어가면,
버전을 확인할 수 있고 이후 링크에서 맞는 드라이버를 다운로드 받아준다.
https://chromedriver.chromium.org/downloads
ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 105, please download ChromeDriver 105.0.5195.19 If you are using Chrome version 104, please download ChromeDriver 104.0.5112.79 If you are using Chrome version 103, please download ChromeDriver 103.0.5060.13
chromedriver.chromium.org
이제 Selenium를 통해 구글 첫화면에서 원하는 단어를 입력하는 코드를 작성해보자
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class Selenium1 { public static void main(String[] args) { String url = "https://www.google.co.kr/"; String DRIVER_ID = "webdriver.chrome.driver"; String DRIVER_PATH = "C:\\aiclass\\JSP\\chromedriver.exe"; System.setProperty(DRIVER_ID, DRIVER_PATH); WebDriver driver = new ChromeDriver(); try{ driver.get(url); WebElement webElement = driver.findElement(By.name("q")); webElement.sendKeys("볼빨간 사춘기 썸탈거야"); webElement.submit(); }catch (Exception e){ e.printStackTrace(); } } }
sendKeys()에 검색을 윈하는 키워드를 입력하고 submit()으로 제출한다. 셀리니움을 더욱 효과적으로 안전하게 사용하기 위해서는 웹 애플리케이션이 실행되는 동안 로딩 시간을 기다려줘야한다. 만약 이부분을 놓치게 되면 아직 코드가 로드되지 않은 상태에서 요소를 찾게되고 없다고 판단되면 예외가 발생되어 중지되기 때문이다.
WebElement webElement = driver.findElement(By.name("q")); webElement.sendKeys("볼빨간 사춘기 썸탈거야"); webElement.submit(); Thread.sleep(500); // Thread.sleep(500); 를 통해 페이지 로드를 기다린다.
728x90'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 스트림(Stream) (0) 2023.03.11 [Java] Arrays.asList() (0) 2023.03.11 [Java] 크롤링(Crawling) (0) 2022.08.17 [Java] LocalDateTime (0) 2022.08.16 [Java] swing (0) 2022.08.16