如何检查当前不可见的网页元素,selenium,c#

时间:2017-02-21 08:50:47

标签: c# selenium

当我检查一些元素是可见的时,我这样做:

public void CheckingVisible {
 Assert.IsTrue(WebElement.Displayed); 
} 

它正在运作

当我尝试检查不可见时,我确实喜欢这样:

public void CheckingNotVisible { Assert.IsFalse(WebElement.Displayed); } 

以及

public void CheckingNotVisible { Assert.IsTrue(!WebElement.Displayed); }

但在这两种情况下它都不起作用。如何检查元素当前是否不可见/显示?

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法,此方法将检查元素是否可见,但在此之前它将检查元素是否可用。

public void CheckVisible() throws Exception
{
    boolean eleche,eleche1 = false;
        try
        {
            eleche = driver.findElements(by.xpath("path")).size()!=0;
        }catch(InvalidSelectorException ISExcep)
        {
            System.out.println("Element Not Available in Page.");
        }
        if(eleche == true)
        {
        try{
                eleche1=driver.findElement(By.xpath("Path")).isDisplayed();
            }catch(org.openqa.selenium.NoSuchElementException NSEE)
            {
                System.out.println("Element Not Visible.");
            }
            if(eleche1 == true)
            {
                System.out.println("\nElement is Visible.");
            }
        }
}

希望我的回答对你有所帮助 谢谢,
Ed D,印度。

答案 1 :(得分:0)

我更像是Java家伙,但我希望以下代码段可以帮助您。在检查其元素可见性之前,您需要确保元素存在。

public boolean isElementVisible(String path)
    {
        try {
           WebElement ele = driver.findElements(by.xpath("path")).get(0);
        }
        catch (NoSuchElementException e1) {
           //System.out.println("Element Not Visible.");
           return false;
            }
        catch(StaleElementReferenceException e2) {
            //System.out.println("Element Not Visible.");
          return false;
            }
        catch (InvalidSelectorException e3) {
            //System.out.println("Element Not Visible.");
             return false;}


             return ele.Displayed;
    }