먼저 selenium을 사용하려면 webdriver가 있어야 한다. 본인은 chrome을 사용하므로 chromedrive를 다운 받았다. 이후 System.setProperty()함수를 이용해 key에는 "webdriver.chrome.driver", value에는 chromedriver가 설치된 위치를 절대경로로 적어준다. ChromeDriver() 객체를 생성하여 WebDriver 클래스로 받는다.

이제 크롤링할 url을 받아준다. 이 때 앞서 생성한 객체를 받은 변수에서 get() 함수를 사용한다.

이제 크롤링하면 되는데, findElement()함수를 사용한다. 이 함수에 argument는 By 객체로 By 클래스의 static 함수를 이용한다. cssSelector()와 id()가 있다. 이때 여러 태그들을 받고 싶으면 findElements() 함수를 사용한다. 리턴 값은 List<WebElement>이다.

WebElement 클래스의 변수의 click()함수를 이용하면 해당 버튼을 누르는 동적인 효과를 불러올 수 있다.

이때 element를 클릭할 수 없다고 할 때는 JavascriptExcutor 클래스의 excuteScript("arguments[0].click;", WebElement)를 사용해주면 된다.

자바를 실행하면 크롬 창이 뜰텐데 이를 없애려면 

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--no-sandbox");
WebDriver webdriver = new ChromeDriver(chromeOptions);

와 같이 WebDriver 객체를 생성하면 된다.

+ Recent posts