C#でFirefoxブラウザを作成および管理するためにSelenium 2.20 WebDriverを使用しています。ページを訪問し、私はURLを訪れる前に、ドライバーのタイムアウトを設定し、次のコードを使用します。Selenium WebDriver - C#を使用してページロードタイムアウトを設定する方法
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
問題は時々ページをロードするために永遠に取ることであり、ページのデフォルトのタイムアウトをロードするためと思われますセレンのWebDriverを使用するのは30秒です。これは長すぎます。そして、私はGoToUrl()メソッドを使用してページの読み込みに適用される設定がタイムアウトだとは思わない。
私はどのようにページを読み込むためのタイムアウトを設定するのかを理解しようとしていますが、実際に動作するプロパティやメソッドは見つかりません。デフォルトの30秒のタイムアウトは、エレメントをクリックしたときにも適用されるようです。
GoToUrl()メソッドを呼び出すと、指定した時間だけ待ってから続行するように、ページのロードタイムアウトを特定の値に設定する方法はありますか?
'GoToUrl()'はページが読み込まれるのを待っていますか?私の経験はそうではないということです。しかし、それはただの感情ではなく、事実です。 –
はい、100%GoToUrl()呼び出しがページが完全にロードされるまで実行をブロックし、30秒後にこのメソッドを呼び出すために30秒のデフォルトタイムアウトを測定しています。何とか30秒のデフォルトタイムアウトを減らすことができます。 – KabanaSoft
私は同様の質問を投稿しました:http://stackoverflow.com/questions/11958701/what-is-the-best-approach-for-timeout-using-selenium-using-webdriver –