페이지가 Selenium webdriver로 로드될 때까지 기다릴 수 있습니다. 동기화가 있습니다. 암시적 및 명시적 대기를 설명하는 Selenium의 개념입니다. 페이지가 로드될 때까지 기다리려면 명시적 대기 개념을 사용합니다.
명시적 대기는 요소의 특정 동작에 대해 예상되는 조건에 종속되도록 설계되었습니다. 페이지가 로드될 때까지 기다리려면 presence_of_element_loaded 예상 조건을 사용해야 합니다. 특정 요소에 대해. 대기 시간이 경과하면 시간 초과 오류가 발생합니다.
명시적 대기 조건을 구현하려면 WebDriverWait의 도움을 받아야 합니다. 및 예상 조건 수업. 페이지에서 아래 요소가 있는지 확인하고 페이지가 로드되었는지 확인합니다.
예
코드 구현
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By driver = webdriver.Chrome (executable_path="C:\\chromedriver.exe") driver.get("https://www.tutorialspoint.com/about/about_careers.htm") // presence_of_element_located expected condition wait for 8 seconds try: w = WebDriverWait(driver, 8) w.until(expected_conditions.presence_of_element_located((By.TA G_NAME,"h1"))) print("Page load happened") exception TimeException: print("Timeout happened no page load") driver.close()
출력