임승현

Enable to Contain the Information of Selectable Movies

...@@ -150,6 +150,7 @@ public class CGVExample { ...@@ -150,6 +150,7 @@ public class CGVExample {
150 Iterator<Element> GoldenEgg = elements1.select("span.percent").iterator(); 150 Iterator<Element> GoldenEgg = elements1.select("span.percent").iterator();
151 Iterator<Element> link = elements1.select("a.link-reservation").iterator(); 151 Iterator<Element> link = elements1.select("a.link-reservation").iterator();
152 152
153 + //영화 제목, 순위, 예매율, 영화 코드, 골든에그 지수를 가져와 CGVMovieInfo 객체 생성자에 파라미터로 넘겨주고, 인스턴스를 받아옴.
153 while(title.hasNext()){ 154 while(title.hasNext()){
154 String newTitle = title.next().text(); 155 String newTitle = title.next().text();
155 int newRank = Integer.parseInt(rank.next().text().replace("No.","")); 156 int newRank = Integer.parseInt(rank.next().text().replace("No.",""));
...@@ -164,8 +165,8 @@ public class CGVExample { ...@@ -164,8 +165,8 @@ public class CGVExample {
164 } 165 }
165 166
166 for (CGVMovieInfo elem : Movies) { 167 for (CGVMovieInfo elem : Movies) {
167 - elem.printMovieInfo(); 168 + //elem.printMovieInfo();
168 - //System.out.println(elem.getRank() + " : " + elem.getTitle()); 169 + System.out.println(elem.getRank() + " : " + elem.getTitle());
169 } 170 }
170 171
171 //영화 이름(Integer 선택지), 영화관 지역 코드, 영화관 이름, 관람 일자 입력 시, (시간 선택 가능한) 예매 사이트로 이동. 172 //영화 이름(Integer 선택지), 영화관 지역 코드, 영화관 이름, 관람 일자 입력 시, (시간 선택 가능한) 예매 사이트로 이동.
...@@ -185,10 +186,12 @@ public class CGVExample { ...@@ -185,10 +186,12 @@ public class CGVExample {
185 String otherFormat = String.format("THEATER_CD=%s&PLAY_YMD=%s", theaterCode, date); 186 String otherFormat = String.format("THEATER_CD=%s&PLAY_YMD=%s", theaterCode, date);
186 url_ticketing += ("?" + otherFormat); 187 url_ticketing += ("?" + otherFormat);
187 188
189 + //예매 가능한 영화 리스트를 얻기 위해 빠른 예매 사이트로 이동.
188 WebDriver driver_ticketing = new ChromeDriver(); 190 WebDriver driver_ticketing = new ChromeDriver();
189 driver_ticketing.get(url_ticketing); 191 driver_ticketing.get(url_ticketing);
190 try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();} 192 try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
191 193
194 + //Frame 전환
192 WebElement selecting_area = driver_ticketing.switchTo().frame("ticket_iframe").findElement(By.className("theater-area-list")); 195 WebElement selecting_area = driver_ticketing.switchTo().frame("ticket_iframe").findElement(By.className("theater-area-list"));
193 List<WebElement> selected_areas_list = selecting_area.findElements(By.cssSelector("ul > li > a > span.name")); 196 List<WebElement> selected_areas_list = selecting_area.findElements(By.cssSelector("ul > li > a > span.name"));
194 197
...@@ -212,17 +215,22 @@ public class CGVExample { ...@@ -212,17 +215,22 @@ public class CGVExample {
212 //선택한 영화관에서, 선택한 일자에 상영하는 영화 목록 들고오기 215 //선택한 영화관에서, 선택한 일자에 상영하는 영화 목록 들고오기
213 WebElement selecting_movies = driver_ticketing.findElement(By.className("movie-select")); 216 WebElement selecting_movies = driver_ticketing.findElement(By.className("movie-select"));
214 List<WebElement> selected_movies_list = selecting_movies.findElements(By.cssSelector("#movie_list > ul > li")); 217 List<WebElement> selected_movies_list = selecting_movies.findElements(By.cssSelector("#movie_list > ul > li"));
218 + LinkedHashMap<String, String> accessible_movies = new LinkedHashMap<>();
215 219
216 //선택불가를 제외한 영화 제목 출력 220 //선택불가를 제외한 영화 제목 출력
217 for(WebElement movie_element : selected_movies_list){ 221 for(WebElement movie_element : selected_movies_list){
218 String movie_enabled = movie_element.getAttribute("class"); 222 String movie_enabled = movie_element.getAttribute("class");
219 if(movie_enabled.endsWith("dimmed")) 223 if(movie_enabled.endsWith("dimmed"))
220 break; 224 break;
221 - else 225 + else{
222 - System.out.println(movie_element.findElement(By.cssSelector("span.text")).getText()); 226 + String title = movie_element.findElement(By.cssSelector("span.text")).getText();
227 + String code = movie_element.getAttribute("movie_cd_group");
228 + accessible_movies.put(title, code);
229 + System.out.println(title + " : " + code);
230 + }
223 } 231 }
224 232
225 - try { 233 + try{
226 driver_ticketing.close(); //드라이버 연결 해제 234 driver_ticketing.close(); //드라이버 연결 해제
227 driver_ticketing.quit(); //프로세스 종료 235 driver_ticketing.quit(); //프로세스 종료
228 } catch (Exception e) { 236 } catch (Exception e) {
......