2012-01-05 80 views
1

ページに5つのツールチップがあります。 WebDriverを使用して、これらのツールチップのテキストを確認しようとしています。Selenium WebDriverを使用してツールチップテキストを取得できません

私はすべての5つの要素のツールヒントテキストを取得するには、次のコードを順番に使用しています:

Actions builder = new Actions(WebDriver); 
builder.ClickAndHold(Element1).Perform(); 
Console.WriteLine(Element1ToolTip.text); 

builder.ClickAndHold(Element2).Perform(); 
Console.WriteLine(Element2ToolTip.text); 

builder.ClickAndHold(Element3).Perform(); 
Console.WriteLine(Element3ToolTip.text); 

問題は、私がコンソールに印刷された最初の要素の唯一のツールヒントテキストを取得することです。 ビルダーをリフレッシュまたはリセットする必要があるのですか?

第1要素のコードを削除すると本当に奇妙ですし、第2要素のツールチップテキストを取得できます。ですから、基本的に、単一の実行でツールヒントテキストを1回だけ取得しています。

+0

これが役に立つのかどうかはわかりませんが、あなたの上にカーソルを置いたときに表示されるはずのツールチップではありませんか?クリックが原因の可能性がありますか?マウスオーバー/ホバーアクションはありませんか? –

+0

この問題はWebDriverの下で記録されました:http://code.google.com/p/selenium/issues/detail?id=2493 – Surya

答えて

1

web要素のtitle属性と予想されるツールヒントテキストを比較して、ツールチップを確認します。入力要素のための

Console.WriteLine(Element1.GetAttribute("title")); 

Console.WriteLine(Element2.GetAttribute("title")); 
+0

HTMLコードにtitle属性はなく、alt属性の値は空白/空です。以下のHTMLコードをご覧ください: この場合、何ができますか? –

0

ツールチップテキストは、タイトル属性だろうとイメージのために、alt属性は、ツールtip.Thisは、HTML 4の標準であるだろうので、私はあなたがホバーを行う必要があるかどうかわからないですし、すべて。

Console.WriteLine(InputElement1.GetAttribute("title")); 
Console.WriteLine(ImageElement1.GetAttribute("alt")); 

http://www.javascriptkit.com/howto/toolmsg.shtml

0

私は、それがとしての要素から解放するために必要だと思います:私は直面しています

Actions builder = new Actions(WebDriver); 
builder.ClickAndHold(Element1).Perform(); 
Console.WriteLine(Element1ToolTip.text); 
builder.release(Element1).perform(); 

builder.ClickAndHold(Element2).Perform(); 
Console.WriteLine(Element2ToolTip.text); 
builder.release(Element2).perform(); 

builder.ClickAndHold(Element3).Perform(); 
Console.WriteLine(Element3ToolTip.text); 
builder.release(Element3).perform(); 
0

:だから

builder.release(Element1).perform(); 

、あなたのコードは以下のようになる可能性同じ問題で、テストの実行時にビューソースページを確認したところ、title属性が次のように表示されます。 data-original-title.Dueはテキストを表示できません.data-original-titleでタイトルを置き換えます。私はテキストを入手することができます。

関連する問題