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()

它是不会进入异常块还可以,但它仍然抛出ElementNotVisibleExceptionelement.click()方法。

关注者
0
被浏览
44
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    关于解决方案的几句话:

    1. 与预期子句的条件presence_of_element_located()涉及 用于检查的元件是存在于页面的DOM的期望。 这并不一定意味着该元素是可见的。一旦找到元素,用于查找元素的定位器将返回WebElement。因此,我们必须更改 与之 相关的子句,presence_of_element_located()期望检查已知在页面DOM中存在的元素是否可见。 可见性意味着不仅显示元素,而且其高度和宽度都大于0。element是WebElement在可见时返回(相同)WebElementvisibility_of_element_located() __
    2. 展望未来,您已经尝试click()WebElement 调用方法。因此,代替presence_of_element_located()我们将使用该 element_to_be_clickable() 子句。
    3. 这是您自己的代码,做了一些小的更改:
      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()



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看