使用XPATH检查HTML结构,任何节点计数
我想检查一些html标记的结构,只是检查结构。 例如,我需要检查使用XPATH检查HTML结构,任何节点计数,xpath,Xpath,我想检查一些html标记的结构,只是检查结构。 例如,我需要检查标记中的某处是否为标记 我写道: //div[@class='list-item-canvas'][1]/*/img[@name='category-pic'] 如果是层次结构中任何('*')节点之后的第二个节点,但如果我在结构的深处有,并且我不想关心层次结构,那么我应该如何编写xpath查询?我想我可以写'**'而不是'**',但我不能 可能吗 这样做: //div[@class='list-item-canvas'][1]//
标记中的某处是否为标记
我写道:
//div[@class='list-item-canvas'][1]/*/img[@name='category-pic']
如果
是层次结构中任何('*')节点之后的第二个节点,但如果我在结构的深处有
,并且我不想关心层次结构,那么我应该如何编写xpath查询?我想我可以写'**'
而不是'**'
,但我不能
可能吗 这样做:
//div[@class='list-item-canvas'][1]//img[@name='category-pic']
img
之前的/
允许您查找div
的任何后代,即img
,而不仅仅是div
的子女或孙子
另外,您确定要将[1]
放在那里吗?它可能不是在做你想做的事。使用:
(//div[@class='list-item-canvas'])[1]//img[@name='category-pic']
(//div[@class='list-item-canvas'])[1]
这将选择任何img
,其name
属性的字符串值为'category-pic'
,并且该字符串值为'list-item-canvas'
属性的第一个(按文档顺序)div的后代
注意子表达式周围的大括号:
(//div[@class='list-item-canvas'])[1]//img[@name='category-pic']
(//div[@class='list-item-canvas'])[1]
这与:
//div[@class='list-item-canvas'][1]
后者选择文档中的每个div
元素,该元素是其父元素的第一个子元素,并且可能有多个这样的元素