Selenium 测试查找显示是不是为无
Posted
技术标签:
【中文标题】Selenium 测试查找显示是不是为无【英文标题】:Selenium Tests Find if Display is NoneSelenium 测试查找显示是否为无 【发布时间】:2015-07-23 20:36:05 【问题描述】:如何判断元素显示是否为none?
目前,我正在使用IWebElement GetAttribute("Style")
方法来获取返回样式属性中所有内容的样式。然后我可以解析字符串并找到display:none
。
我只是想知道是否有更简单和更清洁的方法?
【问题讨论】:
【参考方案1】:你也可以执行javascript并获取一个元素的.style.display
值:
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
string display = (string)js.ExecuteScript("return arguments[0].style.display;", element);
如果您只是想测试一个元素的可见性 - 那么不要重新发明***并让 webdriver 处理它。有Displayed
属性:
element.Displayed
仅供参考,Displayed
webdriver 后面内置了相当复杂的逻辑,请看:
【讨论】:
谢谢!但是,当您说可见性时,您并不是指该元素是否存在于 DOM 中。我通常检查 display:none 元素总是在 DOM 中但没有显示。 @johndoe 当我谈到可见性时,我指的是perceptually visible to the human eye
。要检查元素是否存在,通常会检查 selenium 是否可以找到元素(不抛出异常),或者使用 FindElements
并检查结果的大小是否大于 0。(例如:***.com/questions/7991522/…)
@johndoe 好,看看答案是否值得接受。谢谢。以上是关于Selenium 测试查找显示是不是为无的主要内容,如果未能解决你的问题,请参考以下文章