2016-11-17 5 views
0

私は最初にスクロールバーを持たないテキストページをウェブページに持っています。 しかし、文字数が1000文字を超えると、スクロールバーがテキストエリアに表示されます。セレンを使用してテキストエリアにスクロールバーが存在するかどうかを確認する方法。

同じテキストエリアをクリックまたは編集すると、スクロールバーがテキストエリアに存在するかどうかを確認する必要があります。

答えて

0

スクロールバーが追加されると、クライアントの幅または高さが減少します。だから1つの方法は前後のサイズを確認することです。

Long height_before = Long.parseLong(element.getAttribute("clientHeight")); 
element.sendKeys("wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww") 
Long height_after = Long.parseLong(element.getAttribute("clientHeight")); 

Assert.True((height_before - height_after) > 10); 

または::解決のための

Long clientHeight = Long.parseLong(element.getAttribute("clientHeight")); 
Long offsetHeight = Long.parseLong(element.getAttribute("offsetHeight")); 

Assert.True((offsetHeight - clientHeight) > 10); 
+0

おかげ

は、ここでの例(Java)のです。しかし、テキストエリアに既に最大文字が入っているウェブページやドキュメントを編集する必要がある場合はどうしたらよいですか?その場合、スクロールバーをどのようにアサートすることができます。その場合、前と後の高さが同じであるからです。そして、あなたがJavaでneを助けるなら、それは素晴らしいことです。 – Bugasur

+0

スクロールバーをアサートするには、offsetHeightとclientHeightの差を取得することもできます。ここでさまざまなサイズを見てみましょう:http://i.stack.imgur.com/5AAyW.png –

+0

オフセットの高さがクライアントの高さを超えていても – Bugasur

1

できることがあります。

1:スクロールバーは、テキストエリアが1000を超える場合にのみ表示されるため、テキストエリア内のテキストの長さを確認してスクロールバーが存在するかどうかを調べることができます。

2:テキストエリアのCSS値を取得し、overflow-yscrollであるかどうかを確認します。 Pythonセレンの例

element.value_of_css_property('overflow-y') 
関連する問題