我试图在鼠标鼠标悬停Webelement时尝试查找工具提示文本,但我无法获取工具提示文本。
代码:
Actions a=new Actions(driver);
a.moveToElement(driver.findElement(By.xpath("html/body/p[8]/a"))).build().perform();
String ToolTipText = driver.findElement(By.xpath("html/body/p[8]//a")).getAttribute("title");
System.out.println(" tool "+ToolTipText);
我能够徘徊在无法找到工具提示文本HTML代码:
<p>
The tooltip can use each elements title attribute.
<a class="easyui-tooltip tooltip-f" title="" href="#">Hover me</a>
to display tooltip.
</p>
请帮助。
谢谢。
您的代码有3个问题。
-
将您的定位器在
ToolTipText
中的定位器与您的第一个呼叫中的一个相同的定位器:html/body/p[8]/a
(此XPath说找到第八个p
的孩子,而不是//a
中的任何后代)。如果您使用保留此定位器的类参数(或改进的定位器,请参见示例)并使用它,那就更好了。 -
您的html 中的
title
属性是空的,所以难怪您一无所获。 -
如果它是
title
属性类型的工具提示,而不是一种由CSS生成,然后您无需悬停元素即可获得工具提示。如果它是一个非琐碎的工具提示,就像悬停在stackoverflow中的标签时那样的工具提示,而不是像Actions
一样悬停在html中,则需要在html中找到工具提示。
示例:
private By tooltipElementBy = By.cssSelector("a.easyui-tooltip.tooltip-f");
String ToolTipText = driver.findElement(tooltipElementBy).getAttribute("title");