如何确定元素显示是否为空?

当前,我正在使用IWebElement GetAttribute("Style")方法来获取返回style属性中所有内容的样式。然后,我可以解析字符串并找到display:none

我只是想知道是否有更简单,更清洁的方法?

最佳答案

您还可以执行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背后有一个非常复杂的内置逻辑,请参阅:


Element Displayedness

07-24 09:33