这一切都是新的,所以如果这是一个愚蠢的问题,我很抱歉。
我想做的就是:
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中,如果是,我就无法通过沿着路径找到它。
使用Selenium explit等待而不是睡眠
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "XPATH"))
您可以使用的条件是:
- 可见性_of_element_located
- 文本_呈现_元素
- 可点击元素