如何修复NoSuchElementException Python错误,请点击网页按钮?

时间:2019-10-29 15:27:12

标签: python css selenium webdriver frame

基本上,我需要单击一个按钮,该按钮位于网页框架内。我尝试过:

1)切换到框架,效果很好,不会返回任何错误:

driver.switch_to.frame(driver.find_element_by_css_selector('#iframe'))

3)增加20秒的延迟,因为最后只是超时而不会改变结果:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "dx-button"))).click()

我相信CSS元素的名称是正确的,因为我已使用开发人员模式->复制选择器将其复制。

我还可以做些其他的事情来让硒找到这个CSS元素吗?

添加时间延迟之前出错:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"dx-button"}

添加时间延迟后出现错误:

selenium.common.exceptions.TimeoutException: Message: 

谢谢。

1 个答案:

答案 0 :(得分:0)

可以检查是否已切换的iframe是带有按钮的准确iframe。

如果正确,可以使用XPATH定位符尝试同一行吗?

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[contains(@class, 'button')]"))).click()