使用selenium webdriver加载动态url

vzgqcmou  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(286)

我有一个html字符串(不能写入文件)在内存中,我想呈现在selenium远程webdriver的html字符串和截图。下面是我使用的代码

RemoteWebDriver driver = new RemoteWebDriver(new URL("http://localhost:9515"), capabilities);
driver.get("about:blank");
((JavascriptExecutor) driver)
.executeScript("arguments[0].innerHTML='" + StringEscapeUtils.escapeHtml3(_html) + "'");

这种方法的问题是,由于换行符或其他一些字符而中断了java脚本的执行,并出现以下错误

{"errorMessage":"Unexpected EOF","request":{"headers":{"Accept-Encoding":"gzip,deflate","Connection":

我收到了日志错误消息,所以我只粘贴了其中的某一部分。
我已经调查了这么多,但它没有帮助我太多。
你能帮我解决这个问题吗?我的问题是我想在selenium驱动程序中加载html字符串并截图。

vxbzzdmp

vxbzzdmp1#

假设 _html 是您的html字符串,它应该沿着以下行:

driver.executeScript('document.body.innerHTML = arguments[0]', _html)

你不需要转义引号或换行符。

8cdiaqws

8cdiaqws2#

要在同一选项卡中的动态url中打开,可以使用:

driver.get("about:blank");
((JavascriptExecutor) driver).executeScript("window.location.replace(" + StringEscapeUtils.escapeHtml3(_html) + ");");

要在新选项卡的动态url中打开,可以使用:

driver.get("about:blank");
((JavascriptExecutor) driver).executeScript("window.open('" + StringEscapeUtils.escapeHtml3(_html) +"');");

相关问题