我正在使用 Selenium 2.20 WebDriver 和 C# 创建和管理 Firefox 浏览器。为了访问一个页面,我使用以下代码,在访问 URL 之前设置驱动程序的超时时间:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5)); // Set implicit wait timeouts to 5 secs
driver.Manage().Timeouts().SetScriptTimeout(new TimeSpan(0, 0, 0, 5)); // Set script timeouts to 5 secs
driver.Navigate().GoToUrl(myUrl); // Goto page url
问题在于有时页面加载需要很长时间,而使用selenium WebDriver加载页面的默认超时时间为30秒,这太长了。我不相信所设置的超时时间适用于使用GoToUrl()方法加载页面。
因此,我正在尝试找出如何设置页面加载超时时间,但我找不到任何实际起作用的属性或方法。默认的30秒超时时间似乎也适用于当我单击元素时。
是否有一种方法可以将页面加载超时时间设置为特定值,以便在调用GoToUrl()方法时只等待指定的时间然后继续执行?
GoToUrl()
会等待页面加载完成吗?我的经验是它并不会。但这只是一种感觉,而非事实。 - Torbjörn Kalin