2016-11-08 12 views
0

は私がtdtrタグで構築されていないテーブルを持っていますが、それぞれの行は、(おそらく何とかCSSで作られた)divスクロールしたテーブルの行が画面に表示されている場合、Seleniumでチェックする方法は?

のみ表示画面上の行とさらにいくつかのDOMにレンダリングされています。

たとえば、次の行7,8,9、次にDOM画面上に表示されている場合、私は表示された行:-4,5,6,7,8,9-

Iは、行13に、例えばスクロール、14,15 DOMで表示される行は11,12,13,14,15,16行になります。行4,5,6,7,8,9はもう存在しません。

私の質問は、行が現在画面に表示されている場合、どうすればSeleniumで確認できますか?

WebDriverのAPIで何かを見つけることができませんでした。おそらく、セレンのクラスJavascriptExecutorでより低レベルの方法がありますか?

+0

あなたはHTMLがDOMである行に対してどのように見えるか私たちを見ることができますか?私の推測では、「目に見える」行には、Seleniumで簡単に識別できるスタイリングがあります。 –

+0

element.getAttribute( "style")を使用してstyle属性をチェックします。可視性の部分に含まれているものを確認してください。可視性値を取得するには、element.gtCssValue( "display")も使用します。 – Grasshopper

答えて

0

表示されているかどうかを調べるその後、(CSSのロケータを使用して例えば)行の要素を見つけて:

WebElement webElement = webDriver.findElement(By.cssSelector("...")); 
boolean isDisplayed = webElement.isDisplayed(); 
+0

私はisDisplayed特定のクラスまたはDOMの属性のチェックを考える。私が言ったように、私はDOMの中に可視の行しかありませんし、いくつかのクラスも属性も、可視の行と可視でない行を区別することはできません – user3364652

関連する問題