Selenium webdriver SeleniumWebDriver中的验证

Selenium webdriver SeleniumWebDriver中的验证,selenium-webdriver,automated-tests,verification,Selenium Webdriver,Automated Tests,Verification,我是自动化领域的新手,我正在尝试验证列表中的某个项目是否已被删除。。我使用了以下语法,但它说company found,这不是答案。。请帮忙 internal void verifycompany() { Thread.Sleep(1000); int b = 1; bool CompanyName = Driver.driver.FindElement(By.XPath(".//*[@id='companies']/tr[" + b + "]

我是自动化领域的新手,我正在尝试验证列表中的某个项目是否已被删除。。我使用了以下语法,但它说company found,这不是答案。。请帮忙

internal void verifycompany()

{

        Thread.Sleep(1000);
        int b = 1;
        bool CompanyName = Driver.driver.FindElement(By.XPath(".//*[@id='companies']/tr[" + b + "]/td[1]")).Displayed;
        if (CompanyName == false)
        {
            Console.WriteLine("company not found, test succesful");
            Base.test.Log(LogStatus.Info, "company not found, test succesful");
        }
        else
        {
            b++;
            Base.test.Log(LogStatus.Info, "Company found, test unscuccesful");
            }
        }

不幸的是,isDisplayed不会返回false,如果它没有显示,它会抛出一个异常,声明找不到它(天哪,谢谢)

我所做的是创建一个可重用的方法,在这里我可以传入一个元素,它将通过try-catch将其抛出,如果找到,则返回true;如果抛出异常,则返回false

类似于以下内容-我使用java,但它应该可以帮助您找到解决问题的方法:

public boolean isDisplayed(WebElement webElement) {
    try {
        return element.isDisplayed();
    } catch (NoSuchElementException e) {
        return false;
    }
}
如果不想创建可重用的方法,只需将find元素行放入try-catch中即可

boolean CompanyName;

try {
    CompanyName = findElementAndIsDisplayedCode;
} catch (NoSuchElementException e) {
    CompanyName = false;
}

你能分享相关的HTML吗??