> 백엔드 개발 > 파이썬 튜토리얼 > Amazon 검색 결과를 스크롤할 때 Selenium이 StaleElementException을 발생시키는 이유는 무엇입니까?

Amazon 검색 결과를 스크롤할 때 Selenium이 StaleElementException을 발생시키는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-15 07:02:02
원래의
423명이 탐색했습니다.

Why Does Selenium Throw a StaleElementException When Scrolling Through Amazon Search Results?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿