所以,我试着打电话给#is; isDisplayed' WebElement的方法。该元素的父级具有css属性' width'等于' 0px'并且'溢出'等于隐藏'当然,元素本身是不可见的,但方法是显示的'返回true。它必须返回false!如何将此错误发送给开发人员?
<label>
<span class="before"> // width: 0px; overflow:hidden;
<span>Yes</span> // invisible element
</span>
<i></i>
<span class="after">
<span>No</span>
</span>
</label>
java代码:
WebElement sw = node.findElement(By.xpath(".//*[text()='Yes']")); // node is selected by other query
sw.isDisplayed() //result is true
答案 0 :(得分:0)
您可以使用javascript执行程序来确定元素是否可见,这将考虑CSS样式。你需要能够为元素提供一个可靠的CSS选择器
C#解决方案......
string script = "return $('.before span').is(':visible')"
var executor = WebDriver as IJavaScriptExecutor;
var result = executor.ExecuteScript(script);