에러 메세지
Starting ChromeDriver 113.0.5672.63 (0e1a4471d5ae5bf128b1bd8f4d627c8cbd55f70c-refs/branch-heads/5672@{#912}) on port 42808
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
[1686528899.643][WARNING]: This version of ChromeDriver has not been tested with Chrome version 114.
6월 12, 2023 9:14:59 오전 org.openqa.selenium.remote.ProtocolHandshake createSession
원인
ChromeOptions options = new ChromeOptions();
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
options.setHeadless(true);
System.setProperty(selenium[0], selenium[1]);
WebDriver driver = new ChromeDriver(options);
final WebDriverWait wait = new WebDriverWait(driver, 20);
driver.get(URL);
위 코드는 내 크롤러의 코드 일부이다.
크롤러 사용 시 WebDriver의 인스턴스 생성 후 해당 driver에 URL을 입력해서 사용하고 있다.
Google Chrome 자체의 버전 업데이트가 빈번하다보니, 그에 따라 ChromeDriver.exe도 버전을 계속 업데이트 시켜주어야 하는데, Driver 파일 자체를 다운로드 받아서 사용하다보니 크롬 업데이트 시 버전이 맞지 않아서 빈번하게 발생하는 에러로, 데이터 파싱 시 큰 지장은 없었는데.. 이게 일~주 단위의 장기 크롤러 구동을 하다보니 간혹 데이터 파싱이 되지 않는 경우가 발생해서, 버전 이슈인지 확인해보려고 했다.
해결
각각 WebDriverMannager의 공식 GitHub와 JAR파일 다운로드 경로이다.
간단하게 코드 작성하여 확인해보았는데, 경고 메세지 없이 잘 작동됨
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
class Solution{
public static void main(String[] args) {
WebDriverManager.chromedriver().setup();
ChromeDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
}
}
정상적으로 잘 동작하지만, 아래의 JAR은 필수인 것 같다.
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!