Seleniumを使用してWebページのJUnitテストを作成しています。予想されるテキストがページ内に存在することを確認しようとしています。Selenium:JavaのcssSelectorでdivのテキストを抽出します。
<div id="recipient_div_3" class="label_spacer">
<label class="nodisplay" for="Recipient_nickname"> recipient field: reqd info </label>
<span id="Recipient_nickname_div_2" class="required-field"> *</span>
Recipient:
</div>
は、私がページ上にあるものと期待されているものを比較したいので、私は() Assert.assertTrueを使用する:Webページのコードは、私はこのようなルックスをテストしています。私は
String element = driver.findElement(By.cssSelector("div[id='recipient_div_3']")).getText().replaceAll("\n", " ");
を行うことができ、DIVからすべてを取得することを知っているが、これは戻ります「REQD情報*受信者:」
だけのDIV(「受信者からテキストを取得する方法はあります")他のタグなしで、cssSelectorを使用していますか?
消極的quntifierを使用する必要があります提供するXPathロケータは論理的であるとChromeのコンソールで動作しますが、それはセレンでは動作しません。 Seleniumは次のエラーをスローします... '指定されたselector // div [@ class = 'StdLevel1']/text()は無効か、WebElementになりません。次のエラーが発生しました:InvalidSelectorError:xpath式 "// class ['class =' StdLevel1 ']/text()の結果は[object text]です。それは要素でなければなりません。 – BSchlinker
解決方法はありますか、divを取得してgetText()文字列を解析するだけですか? –
私の理解では、Infactセレンは、テキスト()、ノード等の機能を許可します。 – SIslam