मुझे अंतहीन उम्मीदें कैसे हैं? [डुप्लिकेट]

Aug 16 2020

मैं सेलेनियम का उपयोग करता हूं और मुझे पृष्ठ को लोड करने के लिए अंतहीन प्रतीक्षा करने की आवश्यकता है (क्योंकि इसे लोड करने में कुछ घंटे लगते हैं) और फिर उससे डेटा पार्स करने के लिए, मैं यह कैसे कर सकता हूं?

मैं इस तरह से कुछ कोड का उपयोग करता हूं:

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

जवाब

2 Marios Aug 16 2020 at 03:41

आप इसे प्राप्त करने के लिए WebDriverWait () का उपयोग कर सकते हैं । उदाहरण के लिए, निम्न कोड 5 घंटे तक इंतजार करता है या जब तक कि यह तत्व न मिल जाए।

hours_to_wait = 5

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

या:

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

या आपके मामले में :

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

आपको इन्हें आयात करने की आवश्यकता है:

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