我尝试使用以下代码打印鼠标悬停消息:
WebElement element = driver.findElement(By.xpath("/html/body/div/form/div/div/div/div/div[1]/div/div/div"));
Actions action = new Actions(driver);
action.moveToElement(element).build().perform();
WebElement toolTipElement = driver.findElement(By.xpath("/html/body/div/form/div/div/div/div/div[1]/div/div/div"));
String toolTipTxt = toolTipElement.getText();
System.out.println(toolTipTxt);
实际结果:
悬停在图标上,而不是打印悬停消息,它会被跳到下一个。
答案 0 :(得分:0)
用于打印当我们悬停鼠标时弹出的消息基本上是html中的title属性。我已经为您的问题创建了一个HTML文件,并为此编写了代码。
HTML CODE:
<html>
<head>
<title>StackOverFlow Problems </title>
</head>
<body>
<h2>Hovering get Text</h2>
<span title="hoverin' words">This will show tool-tip</span>
</body>
</html>
用于获取悬停消息并打印它的Selenium代码。
Selenium + java code:
public class HoverGetText {
static WebDriver driver;
static WebDriverWait wait;
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:\\Automation\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
wait = new WebDriverWait(driver, 10);
driver.get("C:\\Users\\HunteR\\Desktop\\Automation\\abc.html");
String hoverValue = driver.findElement(By.xpath("//span[text()='This will show tool-tip']")).getAttribute("title");
System.out.println(hoverValue);
}
}
那就是它!您可以在WebElement上调用getAttribute(String args0)方法并提供所需的HTML属性。
如果您有任何疑虑,请与我们联系。
答案 1 :(得分:0)
我使用了下面的代码,它对我来说很好用
WebElement element = driver.findElement(By.xpath("/html/body/div/form/div/div/div/div/div[1]/div/div/div"));
Actions action = new Actions(driver); action.moveToElement(element).build().perform();
WebElement toolTipElement = driver.findElement(By.xpath("/html/body/div/form/div/div/div/div/div[1]/div/div/div")); if(driver.getPageSource().contains("Hover message")) { System.out.println("Available");
} else
{
System.out.println("Not Available");
}