Làm thế nào tôi có được những kỳ vọng vô tận? [bản sao]

Aug 16 2020

Tôi sử dụng Selenium và tôi cần liên tục đợi trang tải (vì phải mất vài giờ để tải) và sau đó phân tích cú pháp dữ liệu từ nó, làm thế nào tôi có thể làm điều này?

Tôi sử dụng một số mã như thế này:

wait = WebDriverWait(driver, 10)  
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))

Trả lời

2 Marios Aug 16 2020 at 03:41

Bạn có thể sử dụng WebDriverWait () để đạt được điều đó. Ví dụ: mã sau đây đợi trong 5 giờ hoặc cho đến khi nó tìm thấy phần tử.

hours_to_wait = 5

element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))

hoặc là :

element = WebDriverWait(driver, hours_to_wait *60*60).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )

hoặc trong trường hợp của bạn :

element = WebDriverWait(driver, hours_to_wait *60*60).until(
        EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
    )

bạn cần nhập những thứ sau:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC