鼠标悬停在图标工具提示后,我无法获取工具提示文字。我需要获取工具提示文本,这是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"/>
答案 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);
一个很好的参考是:
答案 2 :(得分:0)
使用以下代码行从Element中获取工具提示文本。
String toolTipText = driver.findElement(By.id(element's id)).getAttribute("title");