私はヘッドレスブラウザでいくつかのテストを行い、フォームの入力をテストしようとしています。私は、次の例から示されたコードを使用していますPhantomJSとSelenium - 要素を検索するときに待ち時間を使用しようとすると問題が発生する
:
github link to example of using phantomjs
マイコード:IntelliJので
WebDriverWait wait = new WebDriverWait(driver, 30);
driver.get("<URL HERE, left out for privacy on stack overflow!>");
By amount = By.id("amountField");
wait.until(ExpectedConditions.presenceOfElementLocated(amount));
エラー:
until(java.util.function<? super org.openqa.selenium.WebDriver, V) in FluentWait cannot be applied to :
(org.openqa.selenium.support.ui.ExpectedCondition<org.openqa.selenium.WebElement>)
私はないです私がここで間違っているところは本当に確かです - しかし私は2時間かけて試してみましたこの問題を解決する私は、ページ上を探しています
要素:
<input name="amount0" id="amountField" value="" class="amount form-control" type="number" pattern="\d+(\.\d*)?" maxlength="10" placeholder="Amount">
あなたの質問は少し具体的ですか?あなたの目的は何ですか? 2.あなたは何を達成しようとしていますか? 3.明示的な待機が必要な理由は何ですか? 4.それは隠された要素ですか? 5.どのように表示されますか? 6.HTML DOMを提供する。 – DebanjanB
明示的待ちの代わりに上記の「Fluent Wait」とお読みください。 – DebanjanB
フォームの塗りつぶしをテストしようとすると、ファントムがロードされる前に要素を取得しようとするように見えるので、私は流暢な待機が必要です。要素は隠されていません。これはテストボックスとして表示されます。残念ながら私はページの完全なDOMを持っていませんが、主な質問に要素を貼り付けます。 – MickeyThreeSheds