들어가며 Selenium을 이용하여 브라우저 화면의 스크린샷을 찍고자 할 때가 있습니다. 구현방법 방법은 아래와 같습니다. 각 언어별 구현 방법을 모아놨으니 참고하시면 될 것 같습니다. //Java 구현방법 WebDriver driver = new FirefoxDriver(); driver.get("http://www.google.com/"); File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(scrFile, new File("c:\\tmp\\screenshot.png")); //Python 구현방법 from selenium import webdriver browser = webdrive..
들어가며 Selenium을 사용하다 보면 ComboBox와 같은 input의 dropdown 항목을 가져오거나 선택을 해야 할 때가 있다. 방법 여러 방법이 있을 수 있겠지만 아래와 같이 Selenium에서 제공하는 Select클래스에 comboBox를 담아서 사용하면 편리하다. Option 리스트를 가져오거나 원하는 Option을 선택하는 메서드를 제공하기 때문에 사용하기가 용이하다. Select comboBox = new Select(driver.fineElement(By.id("comboBox"))); //Option List 조회 List optionList = select.getAllSelectedOptions(); //Option 선택 comboBox.selectByIndex(1); //이때의..
들어가며 Selenium 크롤링 중에 새 창이 전시(파일 첨부 등) 되거나 여러창을 다뤄야 하는 경우가 있습니다. 이때 드라이버의 Window목록을 가져오고 이동할 수 있는 handling 기능에 대해서 알아보겠습니다. 해결방법 WebDriver 에서는 현재 Window 정보, 열려져 있는 Window 목록을 제공해줍니다. Window 정보는 해당 Window의 고유한 식별자 형태 그리고 Window 정보를 통해서 Window를 변경할 수 있는 switch 기능도 제공합니다. 아래는 Java로 구현된 예제 소스 입니다. WebDriver webDriver; //현재 Window 저장 String parentHandle = webDriver.getWindowHandle(); //현재 Window 목록 조회..
들어가며 Selenium 사용시 특정 Element의 text 값을 가져오려고 할 때 간혹 해당 Element의 속성이 "display:none" 상태라서 빈 text가 가져와지는 경우가 있습니다. 이유를 살펴보니 Selenium WebDriver는 보이는 Element에 대해 상호작용하기 때문이라고 함 이런 상황에서 다른 동작 없이 text 값을 가져오는 방법을 알아보겠습니다. 저의 경우 display 속성을 바꾸기 위해서 click을 하는 시도를 해보았지만 참 비효율적 이었습니다 해결방법 크게는 두가지 방법이 있습니다. 다만 이 두가지 방법이 서로 약간 다른 점이 있어서 목적에 따라서 사용하시면 될 것 같습니다. innerHTML Element 내에 있는 HTML 내용 전체를 반환합니다. ex) He..
들어가며 Selenium 사용시 예상치 못한 Alert 창이 생겨 "unexpected alert open"이라는 오류가 발생한적이 있었습니다 Selenium을 사용하여 alert 창 발생시 alert 창을 close하는 방법을 알아보겠습니다. ※ Selenium 사용법은 아래를 참고해주세요. [크롤링] Java Selenium 사용법 이번 시간에는 Java로 selenium을 사용하는 방법에 대해서 알아보도록 하겠습니다. 이번 시간에는 설치 및 적용을 해보는 방법을 알아보고 실습은 따로 알아보도록 하겠습니다. Selenium이란? selenium은 웹드라이.. jinseongsoft.tistory.com 해결방법 alert 창을 닫는 방법은 여러가지가 있습니다. 1. alert 개별 처리 방법 간단한 ..
들어가며.. Selenium으로 파싱을 하는데 iframe 안에 있는 정보를 파싱을 하고자 했다. (Java 사용) 이리저리 알아보다 간단한 방법을 알아내었다. 방법 iframe 파싱 예졔 코드 'driver.switch_to.frame' 메서드를 사용하여 iframe element로 switch를 해주는 것으로 보임 아래 코드 사용 후 iframe 안에 컨텐츠를 파싱 //파싱 하고자하는 iframe elements를 찾아 switch함 //파이썬 예제 driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) //자바 예제 driver.switchTo().frame(driver.findElement(By.tagName("iframe"))) 다시..
이번 시간에는 Selenium 사용시에 웹드라이버에서 브라우저가 전시 안된 상태로 크롤링을 하는 방법에 대해서 알아보록 하겠습니다. Selenium을 사용하게 되면 웹드라이버를 사용하게 되면서 테스트 브라우저가 전시가 됩니다. 이때 브라우저를 전시 안되게 하는 방법은 아주 간단합니다. (참고로 저는 ChromeDriver를 사용했습니다) Chrome WebDriver 객체 생성시에 Option을 줄 수가 있습니다. 이때 아래와 같은 코드를 추가 하면 됩니다. ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); dr..
이번 시간에는 Java로 Jsoup 라이브러리를 적용하고 간단하게 사용하는 방법에 대해서 알아보도록 하겠습니다. Jsoup이란? Jsoup은 HTML 파싱 Java 라이브러리입니다. DOM, CSS 및 jquery와 같은 방법을 사용하여 데이터를 추출하고 조작하는 매우 편리한 API를 제공합니다. 주로 정적인 웹 페이지를 파싱하고자 하는 경우, 간단하게 HTML을 가져와 파싱을 할 수 있는 라이브러리입니다. 한번 적용해 봅시다. 이 곳 에서 각자 환경에 맞게 적용을 하겠습니다. 역시나 저는 gradle을 사용하기 때문에 제 project build.gradle 파일에 아래와 같이 적어주겠습니다. dependencies { compile group: 'org.jsoup', name: 'jsoup', ver..
- Total
- Today
- Yesterday
- 자바
- 이펙티브
- 일본여행
- 텐트
- 이펙티브 자바
- intelij
- 일본 배낭여행
- 방통대 과제물
- JavaFX Table View
- git
- 자전거
- JavaFX 테이블뷰
- 이펙티브자바
- JavaFX Window Close
- Java UI
- 배낭여행
- 자전거 여행
- JavaFX
- JavaFX 종료
- 일본 여행
- effective java
- 배낭 여행
- java
- windows
- 인텔리제이
- 스프링부트
- TableView
- effectivejava
- 일본 자전거 여행
- springboot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |