Javascript Phantomjs:在将html dom作为网页打开之前修改它

Javascript Phantomjs:在将html dom作为网页打开之前修改它,javascript,dom,phantomjs,Javascript,Dom,Phantomjs,我需要处理的html文件有损坏的脚本文件是通过标签添加到它。 我计划通过phantomjs删除网页中的所有脚本标签。 但是通过webpage.open()打开网页时,会抛出phantomjs解析错误,因为它无法解析脚本标记中的JS内容。 以下是一个例子: <html> <head> <script> corrupted JS if(dadadd ; </script> <body> some content </body>

我需要处理的html文件有损坏的脚本文件是通过标签添加到它。 我计划通过phantomjs删除网页中的所有脚本标签。 但是通过webpage.open()打开网页时,会抛出phantomjs解析错误,因为它无法解析脚本标记中的JS内容。 以下是一个例子:

<html>
<head>
<script>
corrupted JS
if(dadadd
 ;
</script>
<body>
some content
</body>
</html>

损坏的JS
如果(添加)
;
一些内容
有人能帮我推荐使用phantomjs清理此网页的正确方法吗?

这不可能(很容易)实现。您可以下载(不是通过打开页面,而是在
page.evaluate()中发出Ajax请求)静态html,然后根据需要更改,然后将其分配到
page.content

这可能仍然不起作用,因为一旦您将其分配给
page.content
,您就表示PhantomJS应该将此源代码解释为来自未知域的页面(关于:blank)。由于页面源包含各种没有域名的链接/脚本/样式表,因此您也必须更改这些链接/脚本/样式表,以便页面成功加载各种资源

在PhantomJS和internet之间使用一个带有自定义规则的代理来调整页面源以满足您的需要可能会更容易