如何从网页获取JSON变量并将它们存储在Java变量中

时间:2018-03-26 10:58:06

标签: java json selenium developer-tools

我正在使用Selenium与Java结合进行Web应用程序的自动化测试。我到达某个页面,我必须从多个图表中获取一些变量。问题是:在图表后面,值在DOM中不可见。这是个 example of a chart 这是HTML:

<div data-bind="bqVisualization: {type:style, data: statistics}, title: displayName" class="">
    <label data-bind="text: displayName">Totaal aantal verzoeken</label>
    <div class="chart"><iframe class="chartjs-hidden-iframe" style="width: 100%; display: block; border: 0px; height: 0px; margin: 0px; position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px;"></iframe>
        <canvas width="500" height="250" style="width: 500px; height: 250px;"></canvas>
    </div>
</div>

我只在HTML中看到 canvas ,并且我在元素中没有变量,例如使用Selenium。

如果我在网络下进一步查看开发工具,我会找到用于填充图表的JSON变量:

{
                        "type": "add",
                        "key": "P800-C2-C0-C7",
                        "model": {
                            "key": "P800-C2-C0-C7",
                            "functionalKey": "P800_RapportageAflosvormSpaarrekeningHypotheek_1",
                            "name": "RapportageAflosvormSpaarrekeningHypotheek",
                            "properties": {
                                "value": 18
                            },
                            "children": [

                            ],
                            "displayName": "Spaarrekening",
                            "contentStyle": "statistic",
                            "type": "container",
                            "styles": [

                            ]
                        }
                    }

以下是Developer tools -> Network

中JSON变量的屏幕截图

所以我的问题是:是否有可能以某种方式获取这些JSON变量并将它们存储在Java变量中?如果是这样,我从哪里开始?我必须使用哪些工具?或者还有其他方法吗?

0 个答案:

没有答案