document.evaluate结合xpath获取页面元素
时间: 2024-09-29 16:11:55 浏览: 60
`document.evaluate()` 是一种在JavaScript中利用XPath查询文档树并返回节点集的方法,它通常与浏览器环境中的`window.document`一起使用。这个方法是在Node.js的XMLHttpRequest API和DOM Level 3核心规范中引入的,用于处理包含XHTML或XML内容的响应。
它的基本语法如下:
```javascript
let result = document.evaluate(expression, contextNode, XPathNSResolver?, wantedResultType?, result)
```
- `expression`: 需要评估的XPath表达式,例如 `//div[@class='myClass']` 表示查找所有class为'myClass'的div元素。
- `contextNode`: 查询的起始点,通常是`document.documentElement`,也可以是你想要从其中搜索的特定元素。
- `XPathNSResolver?`: 可选的命名空间解析器,如果表达式包含命名空间。
- `wantedResultType?`: 可选的,可以指定期望的结果类型,如`XPathResult.FIRST_ORDERED_NODE_TYPE`等。
- `result`: 返回值,是一个NodeList,包含了匹配到的所有元素。
使用这个方法获取页面元素的步骤大致如下:
1. 创建一个XPath表达式。
2. 调用`document.evaluate`方法,并传入该表达式、文档节点作为起点以及结果类型。
3. 循环遍历返回的NodeList,获取每个元素。
阅读全文