java - 在 Android 中解析和执行 HTML

标签 java android jsoup html-parsing

我需要用 Java 解析网页中的 HTML 元素,填写表单并提交以模拟登录。

我一直在做一些研究,下面是我使用 jsoup 库所做的。

然而,在实现之后,我意识到 jsoup 仅用于解析,不能执行按钮点击,例如。

在这个例子中,我需要点击 submitButton 元素。

try {
    Document htmlDoc = Jsoup.connect(MY_URL).get();
    Element loginForm = htmlDoc.getElementById("login-form");
    Element usernameField = loginForm.getElementById("username");
    Element passwordField = loginForm.getElementById("passwd");
    Element submitButton = loginForm.getElementById("submit");

    usernameField.val(username);
    passwordField.val(password);

    // I need to simulate `submitButton` click so I can login

} catch (Exception e) {
    Log.e("TAG", e.toString());
}

我对 jsoup 无法执行此操作的理解是否正确?

如果可以,是否有适用于 Android 的库?

我知道有很多 Java 库,但由于 javax 的限制,大多数不能与 Android 一起使用(例如 HtmlUtil)。

最佳答案

您可以查看此链接。提供不错answer .

步骤应该如下:

  1. 进入登录页面
  2. 使用 jsoup 解析 html 的用户名和密码
  3. 替换为实际的用户名和密码
  4. 使用 http POST 发布用户名和密码表单。

关于java - 在 Android 中解析和执行 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40688803/

相关文章:

java - 如何初始化最终对象数组

Android:使用 LayoutInflater.inflate 将自定义参数传递给构造函数

java - 为什么 JSoup 会删除元素 ID?

JAVA:使用While循环打印出与读入的数字一样多的字符

java - m2e connector buildhelper 与 Eclipse Juno SR1 m2e 1.2 不兼容

安卓谷歌地图导航

android - 仅以一种方式显示数据的 AdapterView 的数组适配器,(Android)

jsoup - 通过自定义属性查找元素是否有效?

javascript - 使用 JSOUP 进行 HTML 注释

java - 在名为 OddTest 的类中编写一个名为 isOdd() 的方法,该方法接受一个 int 作为参数,如果该 int 为奇数则返回 true