웹 스크래핑 시나리오에서는 웹 페이지에서 요소를 찾아야 하는 경우가 많습니다. 동적으로. 동적 콘텐츠를 처리할 때 BeautifulSoup의 한계를 극복하기 위해 Selenium을 통합하여 스크래핑하기 전에 JavaScript를 통해 요소가 로드될 때까지 기다릴 수 있습니다.
다음 Python 코드를 고려하세요.
element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.class, "ng-binding ng-scope")))
여기서 코드 줄의 목적은 요소 식별을 위한 클래스 이름을 지정하는 것입니다. 그러나 By.class 인수 내에 클래스 이름이 여러 개 있으면 오류가 발생할 수 있습니다. Selenium은 By.class를 통한 여러 클래스 이름 전달을 지원하지 않습니다.
이 문제를 해결하려면 다음 제안 사항을 고려하세요.
CSS_SELECTOR:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))
XPATH:
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='ng-binding ng-scope' and @id='tabla_evolucion']")))
이러한 수정 사항을 통합하여, JavaScript를 통해 동적으로 로드되는 웹 페이지에서 요소를 효과적으로 찾을 수 있어 성공적인 웹 사용이 가능합니다. 긁어냅니다.
위 내용은 Selenium과 Python을 사용하여 여러 클래스 이름이 있는 웹 요소를 효율적으로 찾으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!