问题描述
finalWebClientwebClient=newWebClient();webClient.setActiveXNative(true);webClient.setJavaScriptEnabled(true);finalHtmlPagepage=webClient.getPage("http://www.weibo.com");
执行getPage方法时,出现如下错误runtimeError:message=[Thedatanecessarytocompletethisoperationisnotyetavailable.]sourceName=[http://js.t.sinajs.cn/STK/js/gaea_1_19.js]这个js文件在浏览器里是可以获得的。请问错误原因是什么,是httpunit不支持这个js?刚接触httpunit,想用它来抓取微博数据,还望高手赐教谢谢!日志如下2012-6-1921:29:56org.apache.http.client.protocol.ResponseProcessCookiesprocessCookies警告:Cookierejected:"[version:0][name:U_TRS1][value:00000012.8a0e1b6.4fe07ed3.0ee7cc68][domain:.sina.com.cn][path:/][expiry:FriJun1721:29:55CST2022]".Illegaldomainattribute"sina.com.cn".Domainoforigin:"www.weibo.com"2012-6-1921:29:56org.apache.http.client.protocol.ResponseProcessCookiesprocessCookies警告:Cookierejected:"[version:0][name:U_TRS2][value:00000012.8a1a1b6.4fe07ed3.edf885ed][domain:.sina.com.cn][path:/][expiry:null]".Illegaldomainattribute"sina.com.cn".Domainoforigin:"www.weibo.com"2012-6-1921:31:31com.gargoylesoftware.htmlunit.IncorrectnessListenerImplnotify警告:Obsoletecontenttypeencountered:'application/x-javascript'.2012-6-1921:31:32com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDocumentjsxFunction_getElementById警告:getElementById(script1340112692418)didagetElementByNameforInternetExplorer2012-6-1921:31:32com.gargoylesoftware.htmlunit.javascript.StrictErrorReporterruntimeError严重:runtimeError:message=[Thedatanecessarytocompletethisoperationisnotyetavailable.]sourceName=[http://js.t.sinajs.cn/STK/js/gaea_1_19.js]line=[1]lineSource=[null]lineOffset=[0]2012-6-1921:31:32com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElementjsxFunction_addBehavior警告:Unimplementedbehavior:#default#userdata
解决方案
解决方案二:
请问楼主这个问题解决了么?我最近也碰到这个问题~qq:737361039,我也在做对微博数据的获取,获取咱们可以一起交流一下~
解决方案三:
我也碰到这个问题了~~
解决方案四:
WebClientwebClient=newWebClient(BrowserVersion.CHROME);webClient.getOptions().setThrowExceptionOnScriptError(false);webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);webClient.getOptions().setJavaScriptEnabled(true);webClient.getOptions().setActiveXNative(false);webClient.getOptions().setCssEnabled(false);webClient.getOptions().setThrowExceptionOnScriptError(false);webClient.waitForBackgroundJavaScript(10*1000);webClient.setAjaxController(newNicelyResynchronizingAjaxController());webClient.getOptions().setJavaScriptEnabled(true);HtmlPagepage=webClient.getPage("http://xiayanmei168.1688.com/page/albumlist.htm");System.out.println(page.asXml());System.out.println(page.getWebResponse().getContentAsString());
解决方案五:
同样遇到这个问题了求高人解决~~~
解决方案六:
你看一下文档里面有说明,如果要执行javascript需要线程wait或者sleep,只需要线程等待一会儿就没有错了