如何在Selenium中获取javascript工具提示信息

How to get javascript tooltip message in Selenium?

本文关键字:javascript 工具 提示信息 获取 Selenium      更新时间:2023-09-26

我想获得一个工具提示消息,出现当鼠标悬停在一个图标。我想在Selenium gettext()方法中获取消息并将其分配给String

下面是我的代码:
   JavascriptExecutor jse = (JavascriptExecutor)driver;
   String script = "return driver.findElement(By.xpath(ObjectRepository.tooltipMsg)).getText();";
   String message = ((JavascriptExecutor) driver).executeScript(script).toString();
   Thread.sleep(3000);
   System.out.println("message "+message);

这是不工作,我得到错误driver is not defined

错误driver is not defined被抛出,因为下面的语句。

return driver.findElement(By.xpath(ObjectRepository.tooltipMsg)).getText();

这实际上不是一个Javascript,而是一个Java代码来查找web元素的文本。因此,在java中定义的驱动程序不能在创建javascript时使用。

使用Javascript:

String script = "return document.getElementById("your-id").innerHTML;";   
String message = ((JavascriptExecutor) driver).executeScript(script).toString();
使用Java:

String message = driver.findElement(By.xpath("your XPath")).getText();

您需要提供正确的XPath或上面的Id来查找元素。

首先,您需要定义您的驱动程序:

WebDriver driver = new FirefoxDriver();

之后,你可以得到元素的属性有工具提示

String message = driver.findElement(By.xpath("ObjectRepository.tooltipMsg")).getAttribute("title");