2周后,我承认失败,正在使用一种对我来说非常有用的解决方法。
问题:
将HTMLUnit移植到Android(或至少具有我的专业水平)是太难了。我相信它是一个有价值的项目(而不是耗费经验的java程序员)。我通过电子邮件发送了HTMLUnit的家伙,他们评论说他们没有考虑到一个端口,或者涉及到什么工作,但建议任何想要从这样一个项目开始的人都应该向他们的邮件列表发送一个消息,让更多的开发者参与(http://htmlunit.sourceforge.net/mail-lists.html) 。
解决方法:
我使用Android的内置WebView,并覆盖了WebView类的onPageFinished方法,以注入Javascript,该页面在完全加载之后抓取所有的html。 Webview也可以用来调用javascript动作,单击按钮,填写表单等。
码:
webView.getSettings().setJavaScriptEnabled(true);
MyJavaScriptInterface jInterface = new MyJavaScriptInterface(context);
webView.addJavascriptInterface(jInterface, "HtmlViewer");
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
//Load HTML
webView.loadUrl("javascript: