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

标签 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

最佳答案

错误 driver is not defined由于以下语句而被抛出。

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

这实际上不是 Javascript,而是用于查找 web 元素文本的 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 才能找到该元素。如果您有任何疑问,请告诉我。

关于javascript - 如何在 Selenium 中获取 javascript 工具提示消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731435/

相关文章:

selenium - Zombie.js 使用什么浏览器?

java - 使用 Selenium 将图像添加到Excel工作表的单元格中

xml - 使用 XPATH 搜索包含的文本

python - 如何优雅地处理 Selenium 中的 NoSuchElementElement 异常?

javascript - 如何从Gmail获取发件人的姓名?

javascript - 我无法从其他函数调用值

javascript - 在Angular 7中处理二维数组。ngFor

javascript - jQuery附加到标签

javascript - 如何使用 JSON 数据填充选择框的选项?

java - 如何用新的日志文件名覆盖 log4j2.xml 中指定的日志文件名?