gpt4 book ai didi

c# - WebDriverWait 如何等到项目存在或不存在?

转载 作者:太空狗 更新时间:2023-10-29 22:19:14 28 4
gpt4 key购买 nike

我正在使用 Selenium WebDriver 运行测试,如果用户没有访问权限,则页面上不存在 div。我正在尝试等待,以便在显示该项目时返回 true,但如果达到超时则返回 false。

    public bool SummaryDisplayed()
{
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(5));
var myElement = wait.Until(x => x.FindElement(By.Id("summaryPage")));
return myElement.Displayed;
}

我不想使用 Thread.Sleep,因为如果元素在 2 秒后存在,我希望它继续。但如果该元素在 5 秒后不存在,它应该返回 false。我不希望它抛出异常,在某些测试用例中我希望它不存在。有没有办法可以抑制异常并在超时后返回 false?谢谢

最佳答案

我想这对你有用。

public bool SummaryDisplayed()
{
try
{
var wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(5));
var myElement = wait.Until(x => x.FindElement(By.Id("summaryPage")));
return myElement.Displayed;
}
catch
{
return false;
}
}

关于c# - WebDriverWait 如何等到项目存在或不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19573943/

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