Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รอจนกว่าหน้าจะโหลดด้วย Selenium WebDriver สำหรับ Python


เราสามารถรอจนกว่าหน้าจะโหลดด้วย Selenium webdriver มี การซิงโครไนซ์ แนวคิดในซีลีเนียมซึ่งอธิบายการรอโดยนัยและชัดเจน ในการรอจนกว่าหน้าจะโหลด เราจะใช้แนวคิดการรอที่ชัดเจน

การรอที่ชัดเจนได้รับการออกแบบมาเพื่อให้ขึ้นอยู่กับเงื่อนไขที่คาดไว้สำหรับลักษณะการทำงานเฉพาะขององค์ประกอบ สำหรับการรอจนกว่าหน้าจะโหลด เราจะใช้เงื่อนไขที่คาดหวัง presence_of_element_loaded สำหรับองค์ประกอบเฉพาะ เมื่อหมดเวลารอ ข้อผิดพลาดการหมดเวลาจะถูกโยนทิ้ง

ในการใช้เงื่อนไขการรอที่ชัดเจน เราต้องขอความช่วยเหลือจาก WebDriverWait และ สภาพที่คาดหวัง ระดับ. ให้เราตรวจสอบการมีอยู่ขององค์ประกอบด้านล่างบนหน้าและตรวจสอบว่าหน้าถูกโหลดหรือไม่

รอจนกว่าหน้าจะโหลดด้วย Selenium WebDriver สำหรับ Python

ตัวอย่าง

การติดตั้งโค้ด

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()

ผลลัพธ์

รอจนกว่าหน้าจะโหลดด้วย Selenium WebDriver สำหรับ Python