Javascript HtmlUnit不呈现谷歌图表

Javascript HtmlUnit不呈现谷歌图表,javascript,java,google-visualization,htmlunit,Javascript,Java,Google Visualization,Htmlunit,我很难在HtmlUnit 2.19中显示Google图表页面 我有以下java代码: public static void main(String arg[]) throws IOException{ String url = "http://localhost/chartsTest/test.html"; WebClient wc = new WebClient(BrowserVersion.CHROME); HtmlPage p = null; try {

我很难在HtmlUnit 2.19中显示Google图表页面

我有以下
java
代码:

public static void main(String arg[]) throws IOException{
    String url = "http://localhost/chartsTest/test.html";
    WebClient wc = new WebClient(BrowserVersion.CHROME);

    HtmlPage p = null;
    try {
        System.out.println("Attempting to load page: " + url);
        p = wc.getPage(url);
        System.out.println("Sucsess!");
    } catch (Exception e) {
        System.err.println("Failed to get page");
    }

    HtmlDivision div = p.getHtmlElementById("img");
    String content = div.asXml();
    System.out.println(content);

    div = p.getHtmlElementById("data");
    content = div.asText();
    System.out.println(content);

    wc.close();
}
我的
test.html
页面是:

<html>
<head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>

    <script type="text/javascript">
        google.load("visualization", '1', {packages:['corechart']});
        google.setOnLoadCallback(drawChart);

        function drawChart() {

            var data = google.visualization.arrayToDataTable([
                ['Year', 'Sales', 'Expenses'],
                ['2013',  1000,      400],
                ['2014',  1170,      460],
                ['2015',  660,       1120],
                ['2016',  1030,      540]
            ]);

            var chart_div = document.getElementById('chart');
            var chart_img = document.getElementById('img');
            var chart_data = document.getElementById('data');

            var chart = new google.visualization.AreaChart(chart_div);

            google.visualization.events.addListener(chart, 'ready', function () {
                var imgString = chart.getImageURI();
                chart_img.innerHTML = '<img src="' + imgString + '">';
                chart_data.innerHTML = imgString;
            });

            chart.draw(data);

        }
    </script>
</head>

<body>
    <div id="chart"></div>
    <div id="img"></div>
    <div id="data"></div>
</body>
</html>

load(“可视化”、'1',{packages:['corechart']});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“年度”、“销售额”、“费用”],
['2013',  1000,      400],
['2014',  1170,      460],
['2015',  660,       1120],
['2016',  1030,      540]
]);
var chart_div=document.getElementById('chart');
var chart_img=document.getElementById('img');
var chart_data=document.getElementById('data');
var chart=新google.visualization.AreaChart(图表分区);
google.visualization.events.addListener(图表'ready',函数(){
var imgString=chart.getImageURI();
chart_img.innerHTML='';
chart_data.innerHTML=imgString;
});
图表绘制(数据);
}
当我在web浏览器中打开此页面时,会得到svg图表、图表的图像,然后是图像的png 64位字符串

但是,当我运行java应用程序时,我得到的输出是:

Attempting to load page: http://localhost/chartsTest/test.html
Oct 19, 2015 11:41:37 AM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
Oct 19, 2015 11:41:37 AM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
Oct 19, 2015 11:41:37 AM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'application/x-javascript'.
Oct 19, 2015 11:41:42 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error
WARNING: CSS error: 'https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css' [3:38] Error in pseudo class or element. (Invalid token " ". Was expecting one of: <IDENT>, ":", <FUNCTION_NOT>, <FUNCTION_LANG>, <FUNCTION>.)
Oct 19, 2015 11:41:42 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning
WARNING: CSS warning: 'https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css' [3:38] Ignoring the whole rule.
Sucsess!
<div id="img">
  <img src="data:image/png;base64,"/>
</div>

data:image/png;base64,
正在尝试加载页面:http://localhost/chartsTest/test.html
2015年10月19日上午11:41:37 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl通知
警告:遇到过时的内容类型:“text/javascript”。
2015年10月19日上午11:41:37 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl通知
警告:遇到过时的内容类型:“text/javascript”。
2015年10月19日上午11:41:37 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl通知
警告:遇到过时的内容类型:“应用程序/x-javascript”。
2015年10月19日上午11:41:42 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler错误
警告:CSS错误:'https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css“[3:38]伪类或元素中存在错误。(无效令牌“”。应为以下之一:,,:,,)
2015年10月19日上午11:41:42 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler警告
警告:CSS警告:'https://ajax.googleapis.com/ajax/static/modules/gviz/1.0/core/tooltip.css[3:38]忽略了整个规则。
成功!
数据:图像/png;base64,
图像似乎没有正确加载


如果我在修改div的函数中放一个日志,它只记录
数据:image/png;base64,
string运行java应用程序时。

我对HtmlUnit中的Highcharts也有类似的问题。我找不到任何解决办法,所以我只好换了司机。所以我选择了Selenium并使用FireFox驱动程序。所以,如果你找不到任何解决方案,你至少可以这样做。我在HtmlUnit中对Highcharts也有类似的问题。我找不到任何解决办法,所以我只好换了司机。所以我选择了Selenium并使用FireFox驱动程序。所以,如果你找不到任何解决方案,你至少可以这样做。