我有一个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);`
答案 0 :(得分:0)
你错过了报价。此外,如果文件中有引号,则会导致错误。这一行:
+ "scriptElt.innerHtml = " + sb.toString() + ";"
它应该是这样的:
+ "scriptElt.innerHtml = '" + sb.toString().replace("'","\\'") + "';"