使用 C# 验证复选框已选中且 Selenium 失败

问题描述 投票:0回答:1

我正在使用 C#.NET 和 Selenium,并尝试验证是否选中了复选框。每次都失败。这是代码:

public static void verifyCheckboxIsChecked(WebDriver driver, System.String xPath)
{
    Thread.Sleep(2000);
    // checkbox should be checked
    IWebElement element = driver.FindElement(By.XPath(xPath));
    if (element.Selected)
    {

        Logger("Test passed, checkbox is checked!");
    }
    else
    {
        Logger("Test failed, checkbox is NOT checked!");
    }
}

我传递给这个方法的完整 XPath 是绝对正确的。它找到复选框。 element.Selected 每次都会返回 False。

还有其他方法可以做到这一点,比如我可以获得的属性吗?沮丧的。这在 Java 中很容易,但我无法在 C# 中访问 isChecked() 。任何帮助表示赞赏。

c# selenium-webdriver
1个回答
0
投票

还有其他方法可以做到这一点,比如我可以获得的属性吗?

尝试

element.GetAttribute("checked")

GetAttribute(string) 方法将返回属性的当前值,即使该值在页面加载后已被修改。请注意,即使元素上没有显式属性,也会返回以下属性的值

文档

© www.soinside.com 2019 - 2024. All rights reserved.