1

Selenium 2.33 Java を使用して、Web サイトの自動化スクリプトを作成しています。

ページに要素が存在するかどうかを確認するために Selenium.isElementPresent() 関数を呼び出していますが、関数が長時間待機し、「アクションが完了するのを待ってタイムアウトしました」という例外がスローされることがあります。私のコードでは、isElementPresent() を呼び出す前にページが完全に読み込まれていることを確認しているので、関数が true または false を返すようにしたいだけです。

selenium.setTimeOute() の設定はこれと関係がありますか? 、最初にコードで設定したためです。

そして、 driver.findElements().size()!=0 を使用して、要素の存在を確認するより良い方法はありますか?

必要なのは、要素が存在するかどうかをすぐに知ることであり、要素が表示されるのを待つことではありません。

ご回答ありがとうございます。

4

1 に答える 1

2

暗黙の待機を 0 に設定する必要があります。

http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebDriver.Timeouts.html

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp

于 2013-08-04T06:18:18.353 に答える