सेलेनियम में NoSuchElementException से कैसे बचें? [डुप्लिकेट]

Aug 18 2020

इस सब के लिए नया, इसलिए मैं माफी माँगता हूँ अगर यह एक बेवकूफ सवाल है।

यहाँ सब मैं करने की कोशिश कर रहा हूँ:

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 Aug 18 2020 at 12:18

नींद के उपयोग के बजाय सेलेनियम का इंतजार करता है

 element = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "XPATH"))

वे शर्तें जिनका आप उपयोग कर सकते हैं:

  1. दृश्यता_ऑफ़_लेमेंट_लोकेटेड
  2. text_to_be_pret_in_element
  3. element_to_be_clickable