Javascript HtmlUnit不呈现谷歌图表
我很难在HtmlUnit 2.19中显示Google图表页面 我有以下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 {
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驱动程序。所以,如果你找不到任何解决方案,你至少可以这样做。