HtmlUnit - 无法从 div 获取锚点
Posted
技术标签:
【中文标题】HtmlUnit - 无法从 div 获取锚点【英文标题】:HtmlUnit - Unable to get anchors from div 【发布时间】:2014-04-14 14:58:18 【问题描述】:我要定位的 html 页面的 div
s 如下所示:
<div class="white-row1">
<div class="results">
<div class="profile">
<a href="hrefThatIWant.com" class>
<img src = "http://imgsource.jpg" border="0" white-row2">
// same content as the div above
</div>
我想废弃收集列表中每个 div 中的 href。
这是我当前的代码:
List<HtmlAnchor> profileDivLinks = (List)htmlPage.getByXPath("//div[@class='profile']//@href");
for(HtmlAnchor link:profileDivLinks)
System.out.println(link.getHrefAttribute());
这是我收到的错误(出现在 for 语句的第一行):
Exception in thread "main" java.lang.ClassCastException: com.gargoylesoftware.htmlunit.html.DomAttr cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlAnchor
你认为问题是什么?
【问题讨论】:
【参考方案1】:问题是您正在获取一个属性,然后将该属性转换为锚点。我想对您的代码进行最小更改的解决方案就是修改 XPath 以返回一个锚点:
htmlPage.getByXPath("//div[@class='profile']//a");
【讨论】:
谢谢!这是有道理的。【参考方案2】:试试
//div[@class='profile']//data(@href)
【讨论】:
以上是关于HtmlUnit - 无法从 div 获取锚点的主要内容,如果未能解决你的问题,请参考以下文章