webDriverWait
기능 : 페이지 로딩 후, 특정 요소가 조건을 만족할 때까지 기다림
타이밍 : 페이지는 이미 떴고, 그 안에 있는 버튼, 텍스트박스, 태그 이런 거 기다릴 때
- 조건 만족하면 바로 넘어감. 안 되면 시간 다 될 때까지 기다리다가 TimeoutException이 발생한다.
new WebDriverWait(driver, Duration.ofSeconds(10));
pageLoadTimeout
기능 : 페이지 전체가 로딩되는 시간 제한
타이밍 : driver.get(url) 했을 때, 페이지가 너무 오래 걸리면 죽임
driver.set_page_load_timeout(10)
driver.get("https://example.com")
=> pageLoadTimeout과 webDriverWait은 서로 다른 역할을 하기 때문에, 크롤링 서비스를 구현한다면, 둘 다 설정해줘야 한다.
=> pageLoadTimeout은 통일해서 설정했고, webDriverWait은 각 요소 별로 시간을 다르게 해서 설정했다.
=> 예를 들어, 타이틀과 본문은 로드 되지 않으면 해당 기사는 크롤링 하지 않고 넘어가도록 했고, 기사 발행 시간 등의 요소가 보이지 않는 경우에는 우선 요소가 잡히지 않음을 저장하도록 설정했다.
'프로젝트 정리' 카테고리의 다른 글
인덱스로 조회 성능 높이기 (0) | 2025.03.30 |
---|---|
OOM SCORE 점수란? (0) | 2025.01.11 |
스프링 시큐리티 JWT 기반 인증 흐름 정리 (0) | 2024.12.27 |
Docker 볼륨과 EBS 볼륨 차이 (0) | 2024.12.21 |
깃허브 액션과 슬랙 연동해서 배포 결과 알림 받기 (0) | 2024.12.20 |