2017-08-10 7 views
0
<div class="inline-check"> 
span class="ic-check" style="display: inline;"> 

上記のサンプルは、任意のタイプのロケータを使用して検索しようとしているHTMLのサンプルです。数字を受け取り、入力が受け入れられる緑の目盛りを示すテキストボックスです。要素style ="display: none;"はHTMLでインラインになりますが、xpathを調べようとすると上のように常に表示されます。JSスクリプトの実行後に呼び出される要素の検索方法

私はxpathを使用して要素を見つけ、それのサイズを取得し、それがtrueまたはfalseに来ているかどうかを確認しようとしています。 しかし、要素が常に存在するので、緑色の目盛りが表示されていなくても通過します。 このような要素を見つけるためには、どのような手法を使用すべきですか。

+0

私はあなたの問題を理解するのに苦労しています。あなたはいつもそれを(隠れているにもかかわらず)見つけているように聞こえますが、それを見つける方法を求めていますか?再調整できますか? –

+0

HTMLの要素を調べると、条件が満たされる(電話番号を追加する)とすぐに「なし」から「インライン」に変更されますが、「xpath」で検索しようとしているときには変更されません。常に表示されます。どんな例をとってもかまいません。これは、JSスクリプトが顧客がこの構文を[email protected]に追加したことを確認してから受け入れの緑色のマークを表示する電子メールアドレスを追加するのに似ています。その緑色のマークがオートメーションに表示されているかどうかを確認しようとしています。 –

+0

要素が常にDOMに存在するので、CSSまたはXpathセレクタを使用してターゲットを設定できます。それは単にビューにレンダリングされていません。 –

答えて

0

あなたはWebElement https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#isDisplayed--からisDisplayed()方法を使用してみましたか?これは、基本的にスタイル属性をチェックする組み込み関数です。

ですから、このような何かやってみてください:

WebElement checkmark = driver.findElement(By.className("ic-check")); 
assertTrue(checkmark.isDisplayed()); 

は、この情報がお役に立てば幸いです。

関連する問題