2016-03-21 5 views
0

ツールチップ上でホバーオーバーを自動化し、スパンクラスのテキストを確認しようとしました。私のコードは真を返すが、それは私に空白の声明を与える。私のツールチップはJavaScriptで書かれています。ここ# puts $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text').textWatirのJavaScriptツールチップを参照する方法

は、HTML

enter image description here

+0

「Java」を「JavaScript」に変更するように質問を編集しました。それらは同じものではなく、その用語は互換的に使用することはできません。かつての私よりも賢明な人は、ハムはハムスターと同じようにJavaScriptがJavaScriptになっているからです。 –

答えて

0

のみ現在表示テキストを返すtext方法です。要素が表示されていないときは、空の文字列が表示されます。

これがツールチップであるので、以下を行う必要があります。

  • トリガー実装に応じて表示され、
  • するツールチップ、ワチールがチェックすることは可能であるとして(表示されるようにツールチップを待ちます

    :要素テキストツールチップが表示されて終了する前に)

これはhoverwhen_present方法を用いて達成することができます

e = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
e.hover 
e.when_present.text 

ツールチップの機能自体ではなくテキストのチェックだけに興味がある場合は、代わりに要素の内部HTMLをチェックすることができます。これは、要素が可視かどうかにかかわらずタイトルテキストを返します。

e = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
e.inner_html 
+0

ツールチップに表示される唯一の方法は、ツールチップの上にマウスを置く場合です。私はe = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text').hover e.when_present.textを試してみました。 –

+0

ああ、申し訳ありません。私はあなたにツールチップの表示をするためのコードがあると仮定しました。 –

1

私はこれを使用して終了:

device_name = $browser.div(:class, 'device_info').div.span(:id, 'FriendlyName').a 
device_name.hover 
tooltip = $browser.div(:class, 'device_info').span(:class, 'tooltip_init') 
tooltip.hover 
title_text = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
puts title_text.when_present.text 

それは一つだけの行を出力します。

関連する問題