如何使用Selenium WebDriver在鼠标悬停上获取工具提示文本

时间:2013-10-07 06:34:38

标签: selenium selenium-webdriver tooltip

鼠标悬停在图标工具提示后,我无法获取工具提示文字。我需要获取工具提示文本,这是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"/>

3 个答案:

答案 0 :(得分:1)

你必须为此使用Actions。在这里我在Google中打印鼠标悬停消息

        var itemRSelected = $("#SelectedteRId option:selected").text();
        var itemNSelected = $("#SelectedName option:selected").text();

        debugger;
        //all ok till above. I verified in debuggger
        //but I am not able to add these values along with the Model rows to the table using below code. Any help? clue to fix the issue?
        @{var i = 0;}
        @foreach (MyNameSpace.Models.MyClassObj p in Model.myClassList)
        {
           if(itemRSelected == p.RowId && itemNSelected == p.NamePix) {
                          var row = "<tr><td>" + @(p.RowId) + "</td><td>" + @(p.NamePix) +
                "</td><td>" + @(p.Mi) + "</td><td>" + @(p.Name) +
                "</td><td>" + @(p.ExtraDate) +
                "</td><td><a class='btn btn-danger btn-xs btnDelete' title='Delete'><i class='fa fa-trash-o'></i></a></td><tr>" ; }

                @: <text>@row</text>
                @:$("#myTable").eq(@i++).after(@row);

           }

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

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

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

    Thread.sleep(2000);

    ToolTip1.clickAndHold(googleLogo).perform();

答案 1 :(得分:1)

从工具提示中获取文本的方法与Jquery ToolTip时的HTML方法不同。 当它的Jquery工具提示时,getAttribute()不起作用。如果您在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

答案 2 :(得分:0)

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

String toolTipText = driver.findElement(By.id(element's id)).getAttribute("title");