12

Python APIを使用して、いくつかのSelenium RCテストをSelenium WebDriverに変換しています。driver.get( 'http://...' )Selenium WebDriver では、続行する前にページ全体が読み込まれるのを待っているように見えることに気付きました。ページが読み込まれるのを待たない方法はありますか? リクエストしているページの一部には、ロードに時間がかかる可能性のある外部リソースが多数含まれています。すべてが読み込まれるのを待つよりも、DOM 上の要素が存在するのを待ちたいと思います。このため、一部のテストでは WebDriver で 2 倍の時間がかかるようです。

4

1 に答える 1

13

はいといいえ。Selenium 2.24.1の時点では、これはFirefoxでのみサポートされています。特別な「モード」で実行する必要があります

FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("webdriver.load.strategy", "unstable");
WebDriver driver = new FirefoxDriver(fp);

必要に応じて、タイムアウトを設定することもできます。この方法はFirefox以外のブラウザでは失敗し、不安定な戦略がなければFirefoxでは何もしません。

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
于 2012-07-12T15:37:41.197 に答える