当前位置: 首页 > 知识库问答 >
问题:

HtmlUnit在DomElement中按类获取div元素?

东门奕
2023-03-14

你好,我正在使用HtmlUnit库,我需要从a标记获得一些href属性,在一些div:

<div class="threadpostedin td alt">
    <p>Forum:<br>
    <a href="programming/website-development/"
    title="Website Development">Website
    Development</a></p>
</div>

此div位于

  • 内部,而
      内部

      为了获得ol,我执行了以下操作:

      HtmlOrderedList l = (HtmlOrderedList) this.page.getElementById("searchbits");
      

      HTML:

      <ol class="searchbits" id="searchbits" start="1">
      

      现在从我发布的div中,我需要获得href“programming/website-development/”,但我不确定如何做到这一点。是的,div有一个类名,但如果我有

      for (DomElement ele : l.getChildElements()) {
          System.out.println(ele.getByXPath("//div[@class='threadpostedin td alt']").size());
          break;
      }
      

      它将打印15,因为ol中总共有15个列表,每个列表中都有一个div类threadpostedin td alt。我需要做的是,在我从迭代中获得的domElement中,使用类ThreadPostedIn td Alt的准确div,而不是使用该类获得所有div的列表。

      有办法用HTMLUnit做到这一点吗?

  • 共有1个答案

    诸彬郁
    2023-03-14

    我假设你有更多的链接比一个使它更详细。

        HtmlElement element = page.getByXPath("//div[@class='threadpostedin td alt']").get(0);
        DomNodeList<DomNode> nodes = element.querySelectorAll("a");
        for(DomNode a : nodes) {
    
            if(a.getAttributes().getNamedItem("href") !=null) {
    
                String href = page.getFullyQualifiedUrl(a.getAttributes().getNamedItem("href").getNodeValue()).toString().toLowerCase();
                String baseUrl = page.getBaseURL().toString();      
    
        }
    }
    
     类似资料:
    • 问题内容: 我想替换html元素中的内容,所以为此使用了以下功能: 上面的方法效果很好,但是问题是我要替换其内容的页面上有多个html元素。因此,我不能使用id而是使用类。有人告诉我javascript不支持任何类型的内置get element by class函数。那么如何修改以上代码以使其与类(而不是ID)一起使用? PS我不想为此使用jQuery。 问题答案: 此代码应在所有浏览器中都有效。

    • 我有一个分页div,其中我有一个html,我不能配置为添加类或ID。我得用我现有的工作。 我有一个问题,当页面被选中时,它会丢失。自动的页面编号是文本:“1”或它也可以是“2”,我想知道一种方法,通过css或javascript我可以得到这个元素“1”或“2”或“3”...并自定义它。 代码如下: null null 有人能帮帮我吗?

    • 问题内容: 这应该真的很简单,但是我遇到了麻烦。如何获得子元素的父div? 我的HTML: 我的JavaScript: 我本来以为还是会工作,但我不断收到错误。请注意,已定义,但不是其中的某些变量。 有任何想法吗? PS我希望尽可能避免使用jQuery。 问题答案: 您正在寻找,其继承自:

    • 我有一个字符串来保存整个html文档。我想获取具有特定ID的div中的所有内容。例如: 我需要id =“myId”标签和它的结束标签之间的内容。有什么方法可以实现这一点吗?输出应该是第二行。

    • 我是Jsoup解析的新手,我想获得这个页面上所有公司的列表:https://angel.co/companies?company_types[]=startup现在,一种实现这一点的方法实际上是使用与我需要的相关的div标记来检查页面。但是,当我调用该方法时: 首先,我甚至无法在我的consol html输出中找到那些DIV标记(这些标记应该给出公司的列表);其次,即使我找到了它,我如何才能找到具

    • 在我的javascript中,我做到了 聚焦元素。 我没有尝试遍历DOM树,而是想知道是否可以简单地说 但我似乎在API中找不到它