2012-04-09 6 views
0

ホバーボックス情報の内容をstdoutに出力する必要があり、以下の方法で試してみました。watirでホバーボックス情報を抽出して標準出力に出力する方法

data = $browser.div(:class => "homeSectionLabel textWidget",:text => /Pool A/).hover 

print "Data #{data} \n" 

もう1つの問題は、同じクラス名でプールBと呼ばれる他のウィジェットがあることです。そのホバー情報にアクセスする方法

<div class="widgetContainer poolContainer"> 
<div class="healthBadge healthUnknown" style="top: -5px; left: -5px;"></div> 
<div class="homeSectionLabel textWidget">Pool‌·A</div> 
<div class="perfDisplay homePoolPerf"> 
</div> 
<div class="homePoolVolText textWidget">9‌·Volumes,‌·0‌·Snapshots</div> 
<div class="spaceMeterContainer poolMeter" style="width: 265px; height: 20px;"> 
</div> 
<table class="tableWidget homeTiers" cellspacing="0" cellpadding="0" border="0"> 
</table> 
</div> 

Anyhelpは本当に感謝しています。

ありがとうございます!
Aditya

+1

のようなものを試してみてください。 –

+1

Aditya、あなたは開発者のために不具合を書いていたような、この種の質問を書く必要があります。人々が問題を再現できない場合、彼らはあなたにとってうまくいくソリューションを見つけ出すのに苦労します。 html、コード(提供したもの)、動作しなかったもの(エラーメッセージがありましたか?)などの基本的な情報を提供できない場合、人々はめったに努力したくありません。 –

+0

一言二日が過ぎました、彼は最後に7時間前に見られましたが、サンプルHTMLの痕跡はまだありません。 –

答えて

0

これは現時点での答えの多くはありませんが、私が言っていることはdiv要素内のテキストのように、「コンテンツ」が通常の.textでアクセスされたコメント

に収まりませんメソッド

「ツールチップ」テキストは、alt属性を使用しても、「onmouseover」イベントを介して起動されるjavascript経由であっても、通常は:hover psuedoclass 。

div要素は、単にそれがユーザーに見えるように、それはdisplayプロパティまたは場所だ変化している場合は、あなたがする必要があるすべてはそのdiv要素を検索する方法を見つけ出す、それから

を.textセクションを取得していますテキスト:

マウスオーバー/ホバーの結果としてdivの内容が変化している場合は、アクションをシミュレートする必要があります(mydata = browser.div(:how => 'what'クライアント側のコードを実行できるようにするために少し待ってから、変更されたコンテナから.textを取得します。


それに取り組んでコードを持っているページを見なければ、私は私の最初の賭けのようになり、付属のコードで「onmouseover属性」のように何も見ないことを考えるが、そうである伝えるのは難しいですこれはCSSで駆動されます。

上記のコードは、.hoverメソッドを実行しているdivオブジェクトの結果を返しています。そのメソッドは何か起こるが、値を返さないため、私が知る限りnilになります。

「プールA」はキャプチャしようとしているテキストですか、それともmouse_overによって他のテキストがユーザに見えるようになっていますか?それがマウスオーバーであれば、HTMLを検索して、他のdivに表示されるテキストを見つけることができますか?

あなただけの特定のクラスのすべてのdivからテキストを取得する必要がある場合は、HTMLまたは私たちはあなたを助けることができるあなたがそうテストしているページへのリンクを提供してください。この

browser.divs(:class => "homeSectionLabel textWidget").each do |div| 
    puts div.text 
end 
0

最新のコメントに基づいて、ページ上のすべてのdivのクラス名が収集され、コンソールに出力されます。

$browser.divs.each do |div| 
puts div.class 
end 

"puts div.class"をファイルに入れたい場合は、ファイルディレクティブに置き換えます。ここの出力は単純なRubyです。

関連する問題