我需要检查页面是否加载不超过 n 秒。
我将 C# 与 Selenium 和 NUnit 一起使用
我见过几种方法:
1:
var time1=DateTime.Now.Ticks/TimeSpan.TicksPerMillisecond;
driver.Navigate().GoToUrl("http://football.ua");
var time2=DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
Console.WriteLine(time2-time1);
//check difference
2:
driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(10));
driver.Navigate().GoToUrl(---------);
//If the load is greater than 10 seconds, takes exception
//I doubt this method, since exceptions emerge, even if the place is quite large timeout (10 sec)
3:使用显式等待
例子:
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://football.ua";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("someDynamicElement"));
});
但我不知道如何锚定等待移动 url。告诉我,有什么更好的,或者提供他们自己的版本。