我正在使用 XPath 来提取 DOM 元素值。由于 XPath 不一致,我使用了一些通配符来选择同一级别的所有 DOM 元素。
HTML 文档中的示例 XPath:
//div[@id='floatswrap']/div/div[2]/div[1]
//div[@id='floatswrap']/div/div[2]/div[2]
//div[@id='floatswrap']/div/div[2]/div[3]
......
//div[@id='floatswrap']/div/div[2]/div[100]
我试过*/div[@id='floatswrap']/div/div[2]/div
通配符(注意开头的星号字符,结尾没有方括号),但它失败了。所以我正在使用以下(上面的示例代码):(
//div[@id='floatswrap']/div/div[2]/div[*]
注意括号内的星号)现在可以了。
由于我是 XPath 的新手,是否有更好、更一致的方法来使用通配符进行 XPath 节点选择?
编辑: 假设我有以下 HTML:
<html>
<head>
</head>
<body>
<div id="floatswrap">
<div>
<div>First</div>
<div> <!-- SELECT ALL DIV NODES WRAPPED IN THIS DIV -->
Second
<div>One</div> <!-- SELECT THIS NODE -->
<div>Two</div> <!-- SELECT THIS NODE -->
<div>Three</div> <!-- SELECT THIS NODE -->
<!-- ........ --> <!-- SELECT ALL DIV NODES -->
<div>Hundred</div> <!-- SELECT THIS NODE -->
</div> <!-- ./Second DIV -->
</div>
<div> Some Text </div>
<div> Some Other Text </div>
</div> <!-- ./floatswrap -->
</body>
</html>
我正在尝试选择第二个 DIV 中的所有 DIV。