在鼠标上的Selenium webdriver工具提示文本

时间:2016-12-24 23:03:52

标签: java html selenium

当我将鼠标悬停在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>

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:0)

您的代码有3个问题。

  1. ToolTipText中的定位器修改为与您第一次通话中相同的位置html/body/p[8]/a(此xpath表示找到第8个p的孩子而不是//a中的任何后代。如果你使用一个包含这个定位器的类参数(或一个改进的定位器,参见例子)并使用它会更好。
  2. HTML 中的title属性为空,所以难怪你什么也得不到。

  3. 如果它是工具提示的title属性类型,而不是工具提示的属性类型 使用CSS生成,然后您不需要将元素悬停以获取 工具提示。如果它是一个非常简单的工具提示,就像你在StackOverflow中悬停标签时的工具提示,而不是像你一样在悬停Actions之后,你需要在HTML中找到工具提示。

  4. 示例:

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