我正在尝试使用JavaScriptExecutor获取工具提示文本。该代码在Firefox中工作正常,而相同的代码在Chrome中不起作用。
场景是: 当我在上传文件字段中选择无效的文件类型时,我将收到验证消息作为工具提示消息。要获取工具提示消息,我使用以下代码
String invalidFileTypeMessag = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", tooltipWebElement);
完全相同的代码在Firefox中工作,而不是在Chrome中。
实现以下代码有助于解决我的问题。
try
{
String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover',true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
((JavascriptExecutor) driver).executeScript(mouseOverScript,uploadFileInputFieldWebElement);
Thread.sleep(1000);
invalidLicenseFileTypeMessag = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;",tooltipWebElement);
} catch (Exception e) {
exception message;
}