我需要测试的数据表,它在每一个变化具有收纳指标。 有时候,这个指标是非常快的。 有没有为了遵循这些非常快的用户界面的变化硒任何最佳做法? (如加载指示符)。
Answer 1:
我用下面的C#来查询id和类已知载荷值DOM和等待它们不存在。 使用driver.FindElement(由*)尝试声明元素出现在给定的标识符,而不是寻找它,这将导致错误,是不是我们要找的行为。
public IWebDriver WaitForPage()
{// Query document for loading elements until none found
var wait = new WebDriverWait(driver,MyDefaultTimeout)
.Until(
e => ((IJavaScriptExecutor)e)
.ExecuteScript(@"
var MyDefaultTimeout = 500;
var loaded = false;
do {
var elementClasses = document.getElementsByClassName('//*[contains(@class=\'is-loading\') or contains(@class=\'fa-gear\') or contains(@class=\'loading\') and not(@class=\'displayed\')]');
var elementIds = document.getElementById('//*[contains(@id=\'hover-gear\') or contains(@id=\loading-gear\')]');
if((!elementClasses === null) || (!elementIds === null)){
setTimeout(function() { loaded = false }, MyDefaultTimeout);
}
else{
if(!document.readyState === 'complete'){
setTimeout(function() { loaded = false }, MyDefaultTimeout);
}
else{
loaded = true;
return document.readyState;
}
}
}
while(loaded === false);", null))
.Equals("complete");
return driver;
}
文章来源: Selenium - follow fast loading indicator