如何使用 HtmlUnit 检索 javascript 变量(数组)及其内容
How to retrieve javascript variable (an array) and its content using HtmlUnit
我正在使用 HtmlUnit 从服务器获取页面。
该页面有很多 javascript,我想从页面中获取一些变量值(数组、json 等)。
有没有办法获得所有的全局变量?
我用来获取变量的代码如下
ScriptResult scr = result.executeJavaScript("User");
scr.getJavaScriptResult();
当我打印这个变量时,它显示 [object Object]
我如何获得这个变量的属性。我知道有一个 属性 "id" 所以我可以简单地调用 result.executeJavaScript("User.id")
但还有一些我现在不知道。我怎样才能看到所有的属性?
同样的问题是 Json 对象
var Item = {Locations: {"1":{"name":"New York", "desc":"xyz"}}
同样的问题在这里
result.executeJavaScript("Item.Locations");
return [object Object]
, 有没有办法一次得到整个 json 对象?
好吧,我发现 [object object]
只不过是 NativeObject
的一个实例,所以简单地转换它并使用迭代器遍历
Iterator<Entry<Object,Object>> entryset = ((NativeObject)scr.getJavaScriptResult()).entrySet().iterator();
我正在使用 HtmlUnit 从服务器获取页面。 该页面有很多 javascript,我想从页面中获取一些变量值(数组、json 等)。 有没有办法获得所有的全局变量? 我用来获取变量的代码如下
ScriptResult scr = result.executeJavaScript("User");
scr.getJavaScriptResult();
当我打印这个变量时,它显示 [object Object]
我如何获得这个变量的属性。我知道有一个 属性 "id" 所以我可以简单地调用 result.executeJavaScript("User.id")
但还有一些我现在不知道。我怎样才能看到所有的属性?
同样的问题是 Json 对象
var Item = {Locations: {"1":{"name":"New York", "desc":"xyz"}}
同样的问题在这里
result.executeJavaScript("Item.Locations");
return [object Object]
, 有没有办法一次得到整个 json 对象?
好吧,我发现 [object object]
只不过是 NativeObject
的一个实例,所以简单地转换它并使用迭代器遍历
Iterator<Entry<Object,Object>> entryset = ((NativeObject)scr.getJavaScriptResult()).entrySet().iterator();