เราสามารถรอจนกว่าหน้าจะโหลดด้วย Selenium webdriver มี การซิงโครไนซ์ แนวคิดในซีลีเนียมซึ่งอธิบายการรอโดยนัยและชัดเจน ในการรอจนกว่าหน้าจะโหลด เราจะใช้แนวคิดการรอที่ชัดเจน
การรอที่ชัดเจนได้รับการออกแบบมาเพื่อให้ขึ้นอยู่กับเงื่อนไขที่คาดไว้สำหรับลักษณะการทำงานเฉพาะขององค์ประกอบ สำหรับการรอจนกว่าหน้าจะโหลด เราจะใช้เงื่อนไขที่คาดหวัง 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()
ผลลัพธ์