如何在Selenium中验证鼠标悬停消息

时间:2018-04-11 12:53:26

标签: java selenium selenium-webdriver hover webdriver

我尝试使用以下代码打印鼠标悬停消息:

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);

实际结果:

悬停在图标上,而不是打印悬停消息,它会被跳到下一个。

2 个答案:

答案 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"); 
    }