java - 解析 HTML 以获取内容及其标签

标签 java html jsoup

这可能是一个奇怪的问题。但是有了详细的解释,我可能会得到一个解决方案(至少是一个启动点。)

我正在使用 selenium 来自动化本地化测试 (L10N) & Java .作为一种可能方法的一部分,

  • 我正在使用 HTML Jsoup Java 解析器获取 HTML 页面的纯文本。
  • 此外,我想将这些提取的文本tagwise保存在一个 Excel 文件

现在据我所知,如果提供过滤器,解析器将给出相应的纯文本。但是有什么办法可以让我得到底层的 HTML tag连同文字? Jsoup 甚至有可能吗?还是与任何其他解析器一起使用?

例如我一直在寻找 <option>当我将 Accounts 作为已解析的文本时。

<html>

<body>
  <select>
    <option value="Savings">Accounts</option>
  </select>
</body>

</html>

最佳答案

使用 Jsoup 你可以做到这一点,

    Document doc = Jsoup.parse("<html><body<select><option value=\"Savings\">Accounts</option></select></body></html>");

    String contentText = "Accounts";

    Elements elems = doc.select(":containsOwn(" + contentText + ")");

    for(Element e: elems) {
        System.out.println("Html : " + e.outerHtml());
        System.out.println("Tag  : " + e.tagName());
    }

输出

  Html : <option value="Savings">Accounts</option>
  Tag  : option

关于java - 解析 HTML 以获取内容及其标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33992409/

相关文章:

java - 可以在导出的 jar/apk 中智能排除 jar 吗?

javascript - focus() 无需滚动即可输入

Java: get+clear atomic for map

java - OnClick 动态添加一个新行到 TableLayout 并从数据库中获取值将其显示在添加的行中并给出总计

html - 如何创建支持跨浏览器的半实心、半透明渐变背景图像?

html - 在带有换行符的 flex 模型元素中切断前一个元素

html - 缺少任何 HTML 结束标记时的 Jsoup 行为

android - Jsoup : Select a row with class name containing whitespace at the end

java - Jsoup链接提取

java - 如何让 Eclipse 代码格式化程序包装赋值语句 = 运算符