5

我已经下载了 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

顺便说一句,我也删除了httpclientjar。因为有人说httpclient已经内置在android中。

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

编辑:

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

编辑2:

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

注意:如果这个问题不适合我之前真正问的问题,那么你可以建议我,我会发布一个新问题。谢谢你

4

4 回答 4

6

这一切都不起作用,因为他正试图将 HtmlUnit 包含到一个 android 项目中。HtmlUnit 与 android 不兼容,因为它引用了一些在 android 中不可用的 java.* 和 javax.* 类。

希望会有安卓版本。

于 2015-02-04T19:49:34.347 回答
2

抱歉,我对 HTMLUNIT 失去了所有希望。:( 为了实现我的目标,我使用了 HttpUrlConnection 和 Jsoup ...这对我有用。这是我的程序,我已经发布了我的代码作为答案。

于 2013-04-07T22:00:39.363 回答
1

以下是要遵循的步骤:

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

    导入 com.gargoylesoftware.htmlunit.WebClient;

    导入 com.gargoylesoftware.htmlunit.html.HtmlPage;

  8. 清理项目。

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

于 2013-02-15T00:27:41.787 回答
0

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

于 2021-05-02T18:58:31.200 回答