【问题标题】:Extracting Attribute Value from HTML using HtmlUnit / XPath?使用 HtmlUnit / XPath 从 HTML 中提取属性值?
【发布时间】:2013-10-15 11:59:29
【问题描述】:

我正在使用 HtmlUnit 来解析网站的源代码并提取相机标题。该网站包含几个不同的相机,我需要以某种方式创建所有相机标题的列表。下面是源代码中的一个摄像头示例(我更改了摄像头标题以使其更清晰):

<a href="/camera/p-SPM7903509713?prdNo=2" title="Camera Title" onclick="javascript:appendOmParams(this, 'SPM7903509713');">Camera Title</a>

我假设我需要使用我刚刚发现的 XPath,因为 HtmlUnit 没有类似于 getElementsByTitle() 的内置函数。我怎么能用上面的例子做到这一点?我的尝试是这样的:

final List<?> titles = webPage.getByXPath("//a[@title=*]");

但是这不起作用。逻辑是说,只要“a”具有属性“title”,标题是什么并不重要,我想要它,因此是星号。有谁知道我该如何处理这个问题?

【问题讨论】:

    标签: html parsing xpath htmlunit


    【解决方案1】:

    你已经非常接近正确的表达方式了。使用//a[@title] 查找所有具有标题属性的链接。如果谓词返回某些内容(不为空),则谓词评估为真,@title 将选择当前标签内的所有标题属性。

    如果你想检索所有标题,你会选择//a/@title

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      相关资源
      最近更新 更多