0
我用我需要的方法挣扎了一下。这是我想做的事:webdriver(c#) - 循环页面刷新,直到不存在元素样式
- 我想加载网页
- 在该网页上,我想等到一个特定的元素,它的风格属性包含“隐藏的:真实的;”。当这种风格存在时,页面已经完全加载,所以我可以继续我的测试
- 我需要继续刷新网页,直到上述条件为真 - 请假设我需要保持清爽。我知道这似乎很愚蠢。
这里是我想要
第1步:
导航到一个网页(从内存中写代码):
driver.Navigate().GoToUrl("http://example.com");
第2步:
从规格中找到样式C元件(编写从存储器代码)
Iwebelement MyElement = driver.findElement(By.id("example"));
Iwebelement MyElementStyle = MyElement.GetAttribute("style");
步骤3:
如果元件具有的风格 “隐藏的:真实的;”在页面加载时,则不执行其他任何操作,直到元素不包含“hidden:true;”样式的页面刷新。 (从内存中写代码)
if(MyElementStyle.Contains("hidden: true;"))
{
// do nothing
}
else
{
driver.Navigate().GoToUrl("http://example.com");
}
这似乎是工作,但上面的代码将只刷新一个页面的时间,所以我需要循环,而不是使用if语句。
任何人都可以提供一些指针或建议更好的方法来处理这个问题吗?
这将会非常慢并且效率低下,尤其是在Selenium Grid中。为什么需要清爽?理想情况下,您的应用程序将有一个稳定的方式来识别“此页面是否可供我使用”。 – Arran
AUT目前有一个已知的问题,有时它会加载,而其他时间则不会。我知道这并不理想,测试本身并不理想,但我们需要坚持现在刷新。一如既往地欣赏你的意见 – Banjaxx