सेलेनियम में NoSuchElementException से कैसे बचें? [डुप्लिकेट]
इस सब के लिए नया, इसलिए मैं माफी माँगता हूँ अगर यह एक बेवकूफ सवाल है।
यहाँ सब मैं करने की कोशिश कर रहा हूँ:
nxt_btn = driver.find_element_by_xpath('/html/body/main/article/section/form/div[2]/button')
nxt_btn.click()
time.sleep(2)
vote_check = driver.find_element_by_xpath('/html/body/main/article/section/form/div[1]/div[2]/div/div/fieldset/div/div/div[2]/div/input')
vote_check.click()
time.sleep(2)
nxt_btn = driver.find_element_by_xpath('/html/body/main/article/section/form/div[2]/button')
nxt_btn.click()
driver.quit()
और यह रिटर्न:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/main/article/section/form/div[1]/div[2]/div/div/fieldset/div/div/div[2]/div/input"}
(Session info: chrome=84.0.4147.125)
मैंने प्रतीक्षा समय को बदलने की कोशिश की है, विभिन्न तत्वों का चयन किया है, और यह देखने के लिए जाँच की है कि क्या यह एक iframe में है, जो कि अगर यह है, तो मैं इसे केवल पथ पर जाकर नहीं ढूँढ सकता।
जवाब
1 AmrutaPande
नींद के उपयोग के बजाय सेलेनियम का इंतजार करता है
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "XPATH"))
वे शर्तें जिनका आप उपयोग कर सकते हैं:
- दृश्यता_ऑफ़_लेमेंट_लोकेटेड
- text_to_be_pret_in_element
- element_to_be_clickable