Selenium Web Driver工具提示鼠标上的文本



我试图在鼠标鼠标悬停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个问题。

  1. 将您的定位器ToolTipText中的定位器与您的第一个呼叫中的一个相同的定位器:html/body/p[8]/a(此XPath说找到第八个p的孩子,而不是//a中的任何后代)。如果您使用保留此定位器的类参数(或改进的定位器,请参见示例)并使用它,那就更好了。
  2. 您的html 中的 title属性是空的,所以难怪您一无所获。

  3. 如果它是 title属性类型的工具提示,而不是一种由CSS生成,然后您无需悬停元素即可获得工具提示。如果它是一个非琐碎的工具提示,就像悬停在stackoverflow中的标签时那样的工具提示,而不是像 Actions一样悬停在html中,则需要在html中找到工具提示。

示例:

private By tooltipElementBy = By.cssSelector("a.easyui-tooltip.tooltip-f");
String ToolTipText = driver.findElement(tooltipElementBy).getAttribute("title");

最新更新