如何使用selenium webdriver将本地javascript文件加载到DOM中?

时间:2015-03-01 08:53:45

标签: java javascript jquery selenium selenium-webdriver

我有一个javascript文件,可以在脚本标记内写的HTML页面中正常工作,但同时当我尝试读取文件并使用webdriver加载时,它会显示一些异常。 以下是我的代码。

    List<String> lines = new ArrayList<String>();
        try {
            lines = Files.readLines(fileEntry, Charset.defaultCharset());
            StringBuilder sb = new StringBuilder();
            for (String line : lines) {
                sb.append(line);
            }
            if (!fileEntry.getName().endsWith(".js")) {
                continue;
            }
            JavascriptExecutor je = (JavascriptExecutor) driver;
            String script =
                "var scriptElt = document.createElement('script');"
                    + "scriptElt.type = 'text/javascript';"
                    + "scriptElt.innerHtml = " + sb.toString() + ";"
                    + "document.body.appendChild(scriptElt);";
            je.executeScript(script);`

1 个答案:

答案 0 :(得分:0)

你错过了报价。此外,如果文件中有引号,则会导致错误。这一行:

+ "scriptElt.innerHtml = " + sb.toString() + ";"

它应该是这样的:

+ "scriptElt.innerHtml = '" + sb.toString().replace("'","\\'") + "';"