如何解决如何避免硒中的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中(如果存在),我只能通过沿着路径找到它。
解决方法
代替睡眠,使用硒显式等待
element = WebDriverWait(driver,10).until(
EC.presence_of_element_located((By.XPATH,"XPATH"))
您可以使用的条件是:
- visibility_of_element_located
- text_to_be_present_in_element
- element_to_be_clickable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。