如何在我的android项目中使用htmlunit

时间:2013-02-14 22:40:52

标签: android htmlunit

我已经下载了htmlunit 2.11 zip。我提取它。然后我试图将它们粘贴到我的项目的libs文件夹中。从libs文件夹我已经在构建路径中添加它们。然后我得到这个错误,而我正在尝试运行我的应用程序

conversion to dalvik format failed with error 1

然后,从stackoverflow我发现,有人说要删除xalan xercesImpl xml-apis。 我删除了它们。但得到这个错误:

Error generating final archive: Found duplicate file for APK: about.html

错误消息还显示哪些文件存在冲突。它们是jetty-http jetty-io jetty-util jetty-websocket然后我再次运行我的应用。这次它显示了一些警告。我忽略了他们。但我的应用程序崩溃说classNotFound

顺便说一下,我还删除了httpclient jar。因为有人说httpclient已经内置在android中。

这是我的问题。现在,任何人都可以帮助我吗?我真的想在我的应用程序中使用htmlunit

编辑:

如果您向我展示步骤,'如何在我的项目中添加htmlunit',将会非常有帮助

已编辑2:

主要是我有一个链接,我登录后得到(我通过网页浏览登录)这个链接给我一个简单的页面。在该页面中有一个textarea和一个提交按钮。并且还有一些javascript(我认为这些javascript运行,当我按下提交按钮)。我可以通过webview来做,但由于某种原因,我不想使用webview。当我按下提交按钮时,它会提供textarea的值以及现有cookie的隐藏字段的某些值(当我通过webview登录时获取)Post方法。我需要在没有webview的情况下这样做。现在除了htmlunit还有其他选择吗?我听说过HttpClient,HttpUrlConnection。还有一件事,agter提交它会将我重定向到另一页。我不需要对此重定向页面执行任何操作。

N.B:如果这个问题不适合我之前的问题,那么你可以建议我,我会发一个新问题。谢谢

4 个答案:

答案 0 :(得分:5)

这一切都没有用,因为他试图将HtmlUnit包含到android项目中。 HtmlUnit与android不兼容,因为它引用了一些java。*& javax。*在android中没有的类。

希望有一个Android版本。

答案 1 :(得分:2)

抱歉,我对HTMLUNIT失去了所有希望。 :(为了获得我的目标,我使用了HttpUrlConnection& Jsoup ......这对我有用。here is my procedure我已经发布了我的代码。

答案 2 :(得分:1)

以下是要遵循的步骤:

  1. http://sourceforge.net/projects/htmlunit/files/htmlunit/2.11/
  2. 下载最新版本的HtmlUnit
  3. 解压缩下载的文件
  4. 转到lib文件夹 - >右键单击 htmlunit-core-js-2.11.jar 并选择“复制”
  5. 转到Eclicse中的Package Explorer - >选择你的项目 - >右键单击libs文件夹并选择“粘贴”
  6. 右键单击新添加的文件,然后单击“作为库添加...”并选择您的项目。
  7. htmlunit-2.11.jar 文件重复步骤3,4和5
  8. 将这两个导入添加到您的项目中:

    import com.gargoylesoftware.htmlunit.WebClient;

    import com.gargoylesoftware.htmlunit.html.HtmlPage;

  9. 清理项目。

  10. 请同时查看此链接http://www.aviyehuda.com/blog/2011/05/16/htmlunit-a-quick-introduction/以获取htmlUnit快速介绍

答案 3 :(得分:0)

我知道现在回答为时已晚,但希望我的回答能帮助其他像我这样的新手,他们试图在他们的 android 应用程序中进行网络抓取并偶然发现此线程以在 android studio 中找到 htmlUnit 的工作解决方案。我使用了以前版本的 htmlUnit (2.14),它对我有用。为什么我在尝试 htmlUnit 而不是 Jsoup ?因为我的目标网页有 javascript 调用,它没有提供完全加载的 html。因此,简而言之:使用以前版本的 htmlUnit。