アプリケーションからツールチップのテキストを取得するために、以下のコードを書いています。しかし、それは常に空のように値を渡しています。(「」)http://demoqa.com/ アプリケーションがToolsQAであると仮定「」と私はhttp://demoqa.com/tooltip/のツールチップテキスト撮りたい「あなたの年齢を」JavaのSelenium WebDriverからツールヒントのテキストを取得します
私が使用している以下のコードを参照してくださいしてください。
public String getToolTipText(String xpath) throws InterruptedException{
xpath = "//div[@class='inside_contain']//input";
WebElement mainElement = driver.findElement(By.xpath(xpath));
Actions act = new Actions(driver);
//act.moveToElement(mainElement).build().perform();
act.clickAndHold(mainElement).build().perform();
Thread.sleep(5000);
String tooltiptextreal = mainElement.getAttribute("title");
return tooltiptextreal;
}
アサーション:
String TooltipText = "We ask for your age only for statistical purpose.";
Assert.assertEquals(pToolsQAWidgetTooltipPageDom.getToolTipText(), TooltipText);
出力:あなたがその入力の上にマウスを取得すると
java.lang.AssertionError: expected [We ask for your age only for statistical purpose.] but found []
ありがとうございました。これはうまくいきました。明確にするもう一つのこと。私が見ることができるように、xpathは "// div [contains(@ id、 'ui-id - ')]/div [@ class = 'ui-tooltip-content']として定義されています。可能性のある一致を示していない要素を検査する際にそのxpathを検索したとしてもそれを導出します。 –
@NickWあなたを助けることができてうれしいです:)あなたがもっと見ると、 'id'は動的であることがわかります。したがって、私は 'contains'を使用しましたが、' ui-tooltip-content'クラスへの参照を取得しました。 – DebanjanB