3

NoSuchElementException のタイムアウト時間に問題があります。デフォルトでは 30 秒のようで、短縮したいと考えています。だから私はこのようなものを書きました:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
element.click();

そして、私はこのメッセージを受け取ります:

org.openqa.selenium.TimeoutException: Timed out after 10 seconds waiting for element to be
clickable: By.id: someid

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Caused by: org.openqa.selenium.NoSuchElementException: Unable to locate element: 
{"method":"id","selector":"someid"}
Command duration or timeout: 30.03 seconds

したがって、最初のメッセージは、WebDriverWait が NoSuchElementException タイムアウトをオーバーライドすることを望んでいたものですが、それでも 30 秒完全に取得されます。とにかく、これを取り除く方法は何ですか?

4

2 に答える 2

2

Java を使用した Selenium WedDriver で 10 秒間待機します。

暗黙的な待機の場合:

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

明示的な待機の場合:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("someID")));
于 2013-11-27T08:50:44.653 に答える