ElementNotVisibleException:Selenium Python
发布于 2021-01-29 19:14:37
我已经检查了所有以前的类似问题,它们不适用于我的情况。
try:
element = wait.until(
EC.presence_of_element_located((By.XPATH, "//*[@id='_ariaId_73.folder'] | //*[@id='_ariaId_133.folder']"))
)
except:
print "403 : Monitoring Not Found"
element.click()
它是不会进入异常块还可以,但它仍然抛出ElementNotVisibleException
的element.click()
方法。
关注者
0
被浏览
44
1 个回答
-
关于解决方案的几句话:
- 与预期子句的条件
presence_of_element_located()
涉及 用于检查的元件是存在于页面的DOM的期望。 这并不一定意味着该元素是可见的。一旦找到元素,用于查找元素的定位器将返回WebElement。因此,我们必须更改 与之 相关的子句,presence_of_element_located()
以 期望检查已知在页面DOM中存在的元素是否可见。 可见性意味着不仅显示元素,而且其高度和宽度都大于0。element是WebElement在可见时返回(相同)WebElement 。visibility_of_element_located()
__ - 展望未来,您已经尝试
click()
为 WebElement 调用方法。因此,代替presence_of_element_located()
我们将使用该element_to_be_clickable()
子句。 - 这是您自己的代码,做了一些小的更改:
try: element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[@id='_ariaId_73.folder'] | //*[@id='_ariaId_133.folder']")))
except:
print “403 : Monitoring Not Found”
element.click()
- 与预期子句的条件