1

我正在使用 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”,标题是什么并不重要,我想要它,因此是星号。任何人都知道我会如何处理这个?

4

1 回答 1

2

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

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

于 2013-10-15T15:45:59.553 回答