Selenium의 StaleElementException: Python에서 웹 페이지 탐색
Selenium WebDriver를 사용하여 Amazon 검색 결과를 반복할 때 일부 사용자는 5번째에 StaleElementException이 발생합니다. 또는 두 번째 페이지. 이 오류는 Selenium이 DOM(Document Object Model)에서 변경되거나 사라진 요소와 상호 작용하려고 할 때 발생합니다.
제공된 코드 조각은 페이지 번호 표시줄을 찾기 위해 페이지를 아래로 스크롤하는 데 어려움이 있음을 강조합니다. "driver.execute_script" 줄에서 StaleElementException이 발생합니다. "StaleElementReferenceException" 메시지는 참조된 요소("pagnCur" 클래스 포함)가 더 이상 유효하지 않음을 나타냅니다.
원래 접근 방식은 특정 수의 페이지를 반복하는 것을 목표로 했지만 제공된 솔루션은 지속적으로 작업을 단순화합니다. 비활성화될 때까지 "다음" 버튼을 클릭합니다. 이 접근 방식은 WebDriverWait를 사용하여 "다음" 버튼 요소가 클릭 가능해질 때까지 기다립니다. WebDriverWait 시간이 초과되면(기본값은 10초) 더 이상 탐색할 페이지가 없다고 가정하여 루프가 중단됩니다.
"implicitly_wait(10)"는 요소가 DOM은 전체 10초가 아닌 최대 10초입니다. 요소가 더 일찍 발견되면 "implicitly_wait" 기간이 완료됩니다. 안정적인 대기를 보장하려면 특정 요소 로케이터와 함께 "WebDriverWait"와 같은 명시적 대기를 사용하는 것이 좋습니다.
위 내용은 Amazon 검색 결과를 스크롤할 때 Selenium이 StaleElementException을 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!