【发布时间】:2018-03-08 23:14:45
【问题描述】:
我有一个用 JS 编写的脚本。我想在沙盒模式下运行它,就好像它是某个浏览器一样,允许 DOM 操作和网络,但没有任何持久性(缓存、cookie、本地存储等)并且具有固定的执行持续时间(比如说 60秒)。
我想用一系列样本捕获 DOM 状态,然后分析其内容。
API 可以是 Java 无法访问的任何东西。
这是一个例子,我想实现的目标:
val myScript = "document.body.appendChild(document.createTextNode('foo'))"
Chrome.SandboxedWindow().execute(myScript, duration = 60, onDomDhanged = {
snapshots.add(takeSnapsot()) // whatever
})
...
println(snapshots[0].domContents.toString())
有没有现成的解决方案,或者我可以从哪里开始?
【问题讨论】:
-
可能一个所谓的“无头浏览器”是您想要使用的工具集吗? Here你可以找到很多这样的工具的集合。
-
应该是的,谢谢
-
我将此添加为答案,包括此类工具的示例!它看起来与您发布的代码 sn-p 非常相似。
标签: javascript browser