2016-07-19 5 views
-1

ウェブページの表をスクロールして特定のテキストを取得する必要があります。しかし、スクロールテーブルが動作していないウェブテーブルのスクロールが動作していませんwatir webdriver

私は10行だけが表示されている21行のWebページにテーブルを持っています。残りの行を表示したい場合、スクロールダウンする必要があります。私は長さを得るためにIRBにおけるコマンドの下に与えた場合にも、それは10行のみを示すが、21行iが行19にテキストを取得しようとした場合、そのテーブル

irb(main):177:0> @browser.div(:class => 'table-container',:index =>1).tables(:class => 'row-table').length 
=> 10 

であり、それはにできないエラーを示します要素を配置します。

また、私は以下のようにスクロールコマンドを使用していたが、スクロールが動作していません。

@browser.div(:class=>'mainContainer2').table(:id => 'row-table').div(:text=>/#{data}/).wd.location_once_scrolled_into_view 

私は手動でのみコマンドの上に一旦テーブルをスクロールした後、私はIRBウィンドウに上記のコマンドを与えるときに取り組んでいます。

また、期待されるテキストと一致するようにテーブル内の各行を繰り返し検査してみましたが、表示されている行が10行しか反復されずにチェックされています。

答えて

0

試してみることができるものがいくつかあります。

JavaScriptを使用して、テーブルコンテナのサイズを変更することができます:

container = browser.div(:class => 'table-container',:index =>1) 
script = "return arguments[0].height = 1000" 
browser.execute_script(script, container) 

あなたはあなたのテーブルコンテナにキーを送信しようとすることができます:

container = browser.div(:class => 'table-container',:index =>1) 
container.send_keys :arrow_down 

最後にあなたはjavascriptので要素をスクロールしようとすることができ:

container = browser.div(:class => 'table-container',:index =>1) 
script = "return arguments[0].scrollTop -= 10" 
browser.execute_script(script, container) 

このアイデアがうまくいかない場合は、ページまたはpへのリンクを入力してくださいコンテナとhtmlの芸術。それは100%働くコードを作成するのに役立ちます。

+0

ご返信ありがとうございます。 – Ashokkumar

関連する問題