繁体   English   中英

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

[英]How to load local javascript file into DOM using 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);`

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

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

它应该是这样的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM