gpt4 book ai didi

c# - Selenium Webdriver C# 如何测试一个元素不存在?

转载 作者:太空狗 更新时间:2023-10-30 00:07:17 24 4
gpt4 key购买 nike

填写必填字段后可以找到此元素:

IWebElement e1SK = Driver.Instance.FindElement(By.XPath(baseXPathSendKeys + "div[2]/textarea"));

当未填写必填字段时,不应存在上述元素。

测试抛出异常:

OpenQA.Selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互

这是我需要为其创建方法还是比这更简单的方法?如果您能展示一个示例,那将会很有帮助,我对 C# 和 Selenium Webdriver 还是很陌生。

我读到过我可以使用名为 findwebelements 的东西,然后检查以确保结果的长度为零,但我也不确定如何实现它。

最佳答案

这里有一个简单的方法来解决这个问题:

if (Driver.Instance.FindElements(By.XPath(baseXPathSendKeys + "div[2]/textarea")).Count != 0)
{
// exists
}
else
{
// doesn't exist
}

您可以创建一个方法 Exists(By) 来测试元素:

public bool Exists(By by)
{
if (Driver.Instance.FindElements(by).Count != 0)
{
return true;
}
else
{
return false;
}
}

然后当你想测试的时候调用它:

By by = By.XPath(baseXPathSendKeys + "div[2]/textarea")
if (Exists(by))
{
// success
}

关于c# - Selenium Webdriver C# 如何测试一个元素不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26963392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com