检查是否显示并启用了某个元素

本文关键字:元素 启用 是否 显示 检查 | 更新日期: 2023-09-27 18:05:33

我正在检查我正在搜索的元素。显示并启用Xpath。像这样:

 var element = Driver.FindElement(By.XPath("//a[contains(@href,'/Services')]"));
 if (element.Displayed && element.Enabled)
 {
 Result.Pass(52); 
 }
 else  
{
 Result.Fail(52); 
} 

返回显示(false)和启用(true),但实际的元素在网站本身是可见的。

当我在网站上检查元素时,它是这样的:

<a href="/Services">Services</a>

有什么建议吗?

更多HTML代码:

   <ul class="list-unstyled">
                <li class="footer-heading">my website</li>
                <li><a href="/">Home</a></li>
                <li><a href="/Search">Item search</a></li>
                <li><a href="/Services">Services</a></li>
                <li><a href="/Services/AreaGuides">Area guides</a></li>
                <li><a href="/Services/Client">Client</a></li>                    
            </ul>

检查是否显示并启用了某个元素

Alecxe的答案也是正确的。除此之外,如果您想要一些通用的方法,您可以尝试以下操作:

与css:

ul a[href$='Services']

使用基于xpath文本的搜索(如果文本是静态的,我更喜欢这样):

//a[text()='Services']

您可以使用By.LinkText()定位器:

Driver.FindElement(By.LinkText("Services"));