xpath定位中contain有哪些用法,请举例说明
时间: 2024-02-21 09:58:52 浏览: 20
XPath中的contains()函数用于判断某个节点的文本内容是否包含指定的文本。它的语法为:contains(string1, string2),其中string1是要被搜索的字符串,string2是要搜索的子字符串。如果string1中包含了string2,那么contains()函数返回true,否则返回false。
以下是contains()函数的一些用法示例:
1. 选取所有包含“example”字符串的节点:
```
//*[contains(text(), 'example')]
```
2. 选取所有id属性中包含“test”的节点:
```
//*[@id[contains(., 'test')]]
```
3. 选取所有class属性中包含“highlight”的节点:
```
//*[contains(@class, 'highlight')]
```
4. 选取所有href属性中以“.pdf”结尾的节点:
```
//a[contains(@href, '.pdf')]
```
5. 选取所有包含“example”字符串的文本节点:
```
//text()[contains(., 'example')]
```
这些示例展示了contains()函数的不同用法,可以根据实际情况选择使用哪种方式。
相关问题
xpath定位中preceding的用法
在XPath定位中,preceding轴用于选取在当前节点之前的所有节点。它会沿着文档树向上遍历,查找当前节点之前的所有节点。它的语法如下:
```
preceding::node()
```
其中,`node()`表示选取任意类型的节点,比如元素节点、文本节点、注释节点等等。
以下是一些示例:
1. 选取当前节点之前的所有元素节点:
```
preceding::element()
```
2. 选取当前节点之前的所有文本节点:
```
preceding::text()
```
3. 选取当前节点之前的所有注释节点:
```
preceding::comment()
```
需要注意的是,preceding轴会包括当前节点的父节点以及祖先节点之前的所有节点,因此需要根据具体情况来选择使用。
xpath定位中preceding-sibling的用法
`preceding-sibling` 是一个 XPath 轴,它表示选取当前节点之前的所有同级节点。在使用 XPath 定位元素的时候,可以使用 `preceding-sibling` 轴来定位当前节点之前的同级节点。
下面是一个示例 HTML:
```html
<div>
<p>文本1</p>
<p>文本2</p>
<p class="target">文本3</p>
<p>文本4</p>
</div>
```
如果想要定位到 class 为 `target` 的 `<p>` 元素之前的所有同级元素,可以使用以下 XPath 表达式:
```
//p[@class='target']/preceding-sibling::p
```
这个表达式的含义是:先选取 class 为 `target` 的 `<p>` 元素,然后使用 `preceding-sibling` 轴选取它之前的所有同级 `<p>` 元素。
在这个示例中,结果会选中文本1和文本2两个 `<p>` 元素。