public class SeleniumTest2 {
public static void main(String[] args)throws Exception {
//사파리 드라이버
WebDriver driver = new SafariDriver();
//무신사 장바구니 크롤링
driver.get("https://www.musinsa.com/auth/login?referer=https%3A%2F%2Fwww.musinsa.com%2Fapp%2F");
//findElement id, pw 태그 주소
WebElement elementId = driver.findElement(By.name("id"));
WebElement elementPw = driver.findElement(By.name("pw"));
Thread.sleep(1000);
//아이디 입력
elementId.sendKeys("");
Thread.sleep(1000);
//비밀번호 입력
elementPw.sendKeys("");
Thread.sleep(1000);
//로그인 클릭
driver.findElement(By.className("login-button__item")).click();
Thread.sleep(1000);
//장바구니 클릭
driver.findElement(By.xpath("//*[@id=\"default_top\"]/div[3]/div[7]/a")).click();
//driver.getPageSource() 로그인 접속후 페이지의 소스 내용을 그대로 도큐먼트에 저장
Document document = Jsoup.parse(driver.getPageSource());
//document안에 connect_img a img이라는 태그를 찾는 것
Elements elements = document.select(".connect_img a img");
System.out.println(elements.size());
Thread.sleep(1000);
elements.stream().forEach(element -> {
String thumbLink = element.attr("src");
System.out.println("https:"+thumbLink);
});
}
}
셀레니움을 이용하여 자동 로그인 + 크롤링
로그인 후 장바구니에 담겨있는 제품의 이미지를 크롤링하려 했으나 태그를 찾지 못하는 문제가 발생
getPageSource()를 사용하여 로그인 했을 때의 정보를 그대로 Document로 전달하니 문제 해결완료