2017-08-28 4 views
0

ページがロードされている間、次のコードを使用して待機します。FluentWaitはelementToBeClickable()メソッドで待機しません

Wait<WebDriver> wait = new FluentWait<WebDriver>(driver) 
      .withTimeout(40, SECONDS) 
      .pollingEvery(10, SECONDS) 
      .ignoring(NoSuchElementException.class); 

    wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(webelements.labelForInputFileField))); 
    log.info("Page loaded!"); 

それは動作しません、私は次のエラーを取得:

java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787) at org.openqa.selenium.support.ui.FluentWait.(FluentWait.java:96) at org.openqa.selenium.support.ui.FluentWait.(FluentWait.java:87)

は、私があまりにもpresenceOfElementLocated()方法が、同じエラーで試してみました。リクエストされたページが読み込まれ、ブラウザで視覚的に表示されます。それでも動作しない場合

WebElement waitsss(WebDriver driver, By elementIdentifier){ 
    Wait<WebDriver> wait = 
       new FluentWait<WebDriver>(driver).withTimeout(60, TimeUnit.SECONDS) 
               .pollingEvery(1, TimeUnit.SECONDS) 
               .ignoring(NoSuchElementException.class); 

     return wait.until(new Function<WebDriver, WebElement>() 
       { 
        public WebElement apply(WebDriver driver) { 
          return driver.findElement(elementIdentifier); 
        } 
       }); 
} 

- :

+0

を使用していないことを確認し、あなたは 'FluentWait'と' WebDriverWait'を混同しています。関連するHTMLと共に自動化しようとしている正確な手作業のステップを私たちに更新することはできますか? – DebanjanB

+0

ページがロードされた後にクリックされるべきファイルチューザがあります。それは、ページが読み込まれるまで待たないようです。 – plaidshirt

答えて

1

FluentWaitコードの下に試してみてください。 XPathを確認してください。それはあなたのXPATHが無効である可能性がありますのでFluentWait expentをスローする

もう一つは、FluentWaitExplicit waitは2種類の待ちです。あなたは、コードの下明示的な待機使用するための別の

を混在させることはできません。

WebDriverWait wait = new WebDriverWait(ad, 100); 
wait.until(ExpectedConditions.elementToBeClickable(By.id("gst")).sendKeys(username); 

は以下を参照: -

http://toolsqa.com/selenium-webdriver/implicit-explicit-n-fluent-wait/

OR JavascriptExecutor

WebElement Searchelement=driver.findElement("Your locator"); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", Searchelement); 

それを願っていますを使用してあなたを助けるでしょう:)

+0

私のために働いていない、同じ効果があります。バージョン2.53.1の 'WebDriverWait'でこれを使用していたので、Xpathは大丈夫です。私はテストケースを3.5に更新しようとしています。 – plaidshirt

+0

要素をクリックするためにJavascriptExecutorのコードを追加しました。試してみてください –

+0

このコードでも同じ効果がありますが、NullPointerExceptionです。 – plaidshirt

1
  1. java.lang.NullPointerException - この例外は通常、smthnがnullであることを示します。このメソッドを実行しているときに変数ドライバとWeb要素が設定されていることを確認してください。
  2. あなたはIMOあなたの現在のフレームワークと互換性がありませんグアババージョン
+0

私の質問をチェックしてください。 – plaidshirt

関連する問題