innerHTML在Firefox中运行良好,而当我在Chrome中尝试使用它时,它无效

时间:2017-07-11 23:34:22

标签: selenium selenium-webdriver selenium-chromedriver selenium-firefoxdriver

我正在尝试使用JavaScriptExecutor获取工具提示文本。该代码在Firefox中运行良好,而相同的代码在Chrome中无效。

情景是: 当我在上传文件字段中选择无效的文件类型时,我将获得验证消息作为工具提示消息。要获取工具提示消息,我使用以下代码

String invalidFileTypeMessag = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", tooltipWebElement);

完全相同的代码适用于Firefox,而不适用于Chrome。

1 个答案:

答案 0 :(得分:0)

实施以下代码有助于解决我的问题。

 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;

    }