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

时间:2015-09-23 05:13:12

标签: javascript selenium

我想获得一个工具提示消息,当鼠标悬停在图标上时会显示该消息。我想在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

2 个答案:

答案 0 :(得分:2)

由于以下声明而引发错误driver is not defined

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

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

使用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才能找到该元素。如果您有任何疑问,请与我们联系。

答案 1 :(得分:1)

首先,您需要定义您的drvier:

WebDriver driver = new FirefoxDriver();

以后,你可以获得element的属性有工具提示

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