मुझे अंतहीन उम्मीदें कैसे हैं? [डुप्लिकेट]
मैं सेलेनियम का उपयोग करता हूं और मुझे पृष्ठ को लोड करने के लिए अंतहीन प्रतीक्षा करने की आवश्यकता है (क्योंकि इसे लोड करने में कुछ घंटे लगते हैं) और फिर उससे डेटा पार्स करने के लिए, मैं यह कैसे कर सकता हूं?
मैं इस तरह से कुछ कोड का उपयोग करता हूं:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
जवाब
2 Marios
आप इसे प्राप्त करने के लिए 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