presence_of_element_located与visibility_of_element_located区别

selenium 问题:加了显性等待后,操做元素依然出错

 

背景: 用WebDriverWait时,一开始用的是presence_of_element_located,我对它的想法就是他就是用来等待元素出现。结果屡屡出问题。元素默认是隐藏的,致使等待过早的就结束了。app

解决:去StackOverFlow查了一下,发现我应该用visibility_of_element_located。post

原文:

复制代码
Well, I would guess that presenceOfElementLocated will be slighty faster because it's just check elements presence on the page while the visibilityOfElementLocated has to check the presenceand whether is element visible.

But I think it really doesn't matter from the performance perspective (what's the point if you save 0.001 second during this checking?), you better choose appropriate method depending on your use case.

use presenceOfElementLocated when you don't care whether if element visible or not, you just need to know if it's on the page
use visibilityOfElementLocated when you need to find element which should be also visible
Look at the documentation for more info.
复制代码

 

翻译:

我猜 presence_of_element_located 确定会稍微快一点,由于它仅仅检查了页面是否存在该元素,而visibility_of_element_located还必须检查元素是否存在以及元素是否可见。性能

可是我认为从性能角度考虑,确实没啥影响。最好根据使用状况来选择正确的方法。this

  • presence_of_element_located: 当咱们不关心元素是否可见,只关心元素是否存在在页面中。
  • visibility_of_element_located: 当咱们须要找到元素,而且该元素也可见。
相关文章
相关标签/搜索