6

鼠标悬停在图标工具提示上后,我无法获取工具提示文本。我需要获取工具提示文本,这是 html 代码。

<a class="tooltip" onclick="SocialAuth.showOpenIDLoginWindow('google');_gaq.push(['_trackEvent','LoginForm','google-login','google login was clicked']);" href="javascript:void(0);"><span>We dont store your password or access your contacts on your Google account.</span><img class="social" height="39" width="40" src="/images/login/google.png"/>
4

3 回答 3

2

从工具提示获取文本的方法与 HTML 不同,当它是 Jquery ToolTip 时。getAttribute() 在 Jquery ToolTip 时不起作用。如果您在http://demoqa.com/tooltip/看到工具提示示例,它是一个 jquery 工具提示。

以下代码在这里工作:

    WebDriver driver=new FirefoxDriver();
    driver.get("http://demoqa.com/tooltip/");
    WebElement element = driver.findElement(By.xpath(".//*[@id='age']"));
    Actions toolAct = new Actions(driver);
    toolAct.moveToElement(element).build().perform();
    WebElement toolTipElement = driver.findElement(By.cssSelector(".ui-tooltip"));
    String toolTipText = toolTipElement.getText();
    System.out.println(toolTipText);

一个很好的参考是:

http://www.seleniumeasy.com/selenium-tutorials/how-to-verify-tooltip-text-with-selenium-webdriver-using-java

于 2016-01-27T16:11:43.540 回答
1

使用以下代码行从元素中获取工具提示文本。

String toolTipText = driver.findElement(By.id(element's id)).getAttribute("title");
于 2013-10-07T07:02:10.780 回答
1

您必须为此使用操作。在此我在 Google 中打印鼠标悬停消息

    Actions ToolTip1 = new Actions(driver);
    WebElement googleLogo = driver.findElement(By.xpath("//div[@id='hplogo']"));

    Thread.sleep(2000);

    ToolTip1.clickAndHold(googleLogo).perform();

使用“clickAndHold”方法执行鼠标悬停动作。

使用“getAttribute”命令获取工具提示的值

    String ToolTipText = googleLogo.getAttribute("title");

    Assert.assertEquals(ToolTipText, "Google");

    Thread.sleep(2000);
    System.out.println("Tooltip value is: " + ToolTipText);
于 2015-10-05T06:49:38.823 回答