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