当前位置: 首页 > 面试题库 >

ElementNotVisibleException:Selenium Python

闾丘晨
2023-03-14
问题内容

我已经检查了所有以前的类似问题,它们不适用于我的情况。

   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()方法。


问题答案:

关于解决方案的几句话:

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



 类似资料:

相关阅读

相关文章

相关问答