innerHTML 在 Firefox 中工作正常,而当我在 Chrome 中尝试相同时它不起作用
innerHTML works fine in Firefox whereas when I tried the same in Chrome it is not working
我正在尝试使用 JavaScriptExecutor 获取工具提示文本。该代码在 Firefox 中运行良好,而相同的代码在 Chrome.
中不起作用
场景是:
当我 select 上传文件字段中的文件类型无效时,我将收到验证消息作为工具提示消息。要获取工具提示消息,我正在使用以下代码
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;
}
我正在尝试使用 JavaScriptExecutor 获取工具提示文本。该代码在 Firefox 中运行良好,而相同的代码在 Chrome.
中不起作用场景是: 当我 select 上传文件字段中的文件类型无效时,我将收到验证消息作为工具提示消息。要获取工具提示消息,我正在使用以下代码
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;
}