Selenyumda NoSuchElementException'dan nasıl kaçınılır? [çiftleme]
Aug 18 2020
tüm bunlarda yeniyim, bu yüzden aptalca bir soru ise özür dilerim
işte yapmaya çalıştığım tek şey:
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()
ve şunu döndürür:
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)
Bekleme süresini değiştirmeyi, farklı öğeler seçmeyi ve bir iframe içinde olup olmadığını kontrol etmeyi denedim, eğer öyleyse, yolu yukarı giderek bulamıyorum.
Yanıtlar
1 AmrutaPande Aug 18 2020 at 12:18
Uyku yerine Selenium kullanın explict bekler
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "XPATH"))
Kullanabileceğiniz koşullar şunlardır:
- visibility_of_element_located
- text_to_be_present_in_element
- element_to_be_clickable
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı