如果html
文件具有< script> 标记,可以动态更新DOM,是否可以通过某些java代码运行此文件以获取{{1由java脚本生成
即如果我要在浏览器中启动该文件,浏览器将加载脚本标记并运行java脚本并相应地更新DOM并呈现它。我想要这个最终的DOM,但没有浏览器支持。
我的应用程序是在Tomcat中运行的Java应用程序,它从数据库中获取html内容。我需要扩展这个html内容,以便在应用java脚本后获得“动态”内容。这可以通过Java API实现吗?
修改
我尝试了HtmlUnit来加载内容并解析页面内容。但是,当我从dynamic DOM
获取xml内容时,MathJax扩展内容不可用。
HtmlPage
当我在浏览器中启动从DB获取的html内容时,我看到了正确的DOM(由MathJax更新)。
答案 0 :(得分:0)
我想你忘了给WebClientOptions#setJavaScriptEnabled
打电话,所以MathJax根本就没有运行。
至少从你上面的代码来看似乎是这样。
在第4行:
上试试client.getOptions().setJavaScriptEnabled(true);
我希望这会有所帮助。
也许WebClientOptions#setThrowExceptionOnScriptError
是另一种重要的方法,因为如果不启用此选项,您可能不会在脚本执行期间收到任何问题的通知(实际上,默认设置也可能是另一种方式 - 我不是肯定)