我正在使用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()方法时仅等待指定的时间后才能继续?

来自乔希的回答

driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);

注意:driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(5))现已弃用。