提问人:Oreliya Fernando 提问时间:9/23/2015 最后编辑:RajeshKdevOreliya Fernando 更新时间:9/23/2015 访问量:1792
如何在 Selenium 中获取 javascript 工具提示消息?
How to get javascript tooltip message in 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
答:
1赞
Mahsum Akbas
9/23/2015
#1
首先,您需要定义 Drvier:
WebDriver driver = new FirefoxDriver();
稍后,您可以获取元素的属性具有工具提示
String message = driver.findElement(By.xpath("ObjectRepository.tooltipMsg")).getAttribute("title");
2赞
Manu
9/23/2015
#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 才能找到该元素。如果您有任何疑问,请告诉我。
评论
0赞
Oreliya Fernando
9/24/2015
我像这样更改了我的代码 String script = “return document.getElementById(\”_iwarn_txtNoOfNights\“).innerHTML;”;但它打印一个 null 值。
0赞
Manu
9/25/2015
它可能正在打印,因为工具提示的文本被保存为标题属性。尝试使用 .希望能有所帮助。null
document.getElementById(\"_iwarn_txtNoOfNights\").getAttribute("title");
评论