Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html XPath值选择_Html_Xpath - Fatal编程技术网

Html XPath值选择

Html XPath值选择,html,xpath,Html,Xpath,我想得到一个值“square”(例如201)。如前所述,我尝试过这样做,但没有成功: ./li[attributeTitle='Этаж'] Html代码: <div class = "A"> <ui class = "B"> <li> <span class = "attributeTitle"> Floor </span> <span class = "

我想得到一个值“square”(例如201)。如前所述,我尝试过这样做,但没有成功:

./li[attributeTitle='Этаж']
Html代码:

<div class = "A">
    <ui class = "B">
        <li>
            <span class = "attributeTitle"> Floor </span>
            <span class = "attributeValue"> 3 </span>
        </li>
        <! A random more items "li" >
        <li>
            <span class = "attributeTitle"> Square </span>
            <span class = "attributeValue"> 201 </span>
        </li>
        <li>
            <span class = "attributeTitle"> Nrooms </span>
            <span class = "attributeValue"> 4 </span>
        </li>
    </ui>
</div>

  • 地板 3.
  • 广场 201
  • 诺姆斯 4.
  • 感谢您的帮助。

    您可以使用xpath中的
    contains()
    函数检查文本是否包含某些字符串:

    "//div[@class='attributeTitle'][contains(text(),'Square')]"
    
    这将使您获得此节点:

    <span class = "attributeTitle"> Square </span>
    

    并添加
    [1]
    ,表示如果有多个兄弟姐妹,我们只需要第一个兄弟姐妹。您也可以使用
    [class='attributeValue']
    来表示我们只需要具有此特定类的同级,或者如果您相信只有一个同级,则根本不使用任何同级。

    它是如何工作的?您希望看到什么?您看到了什么?请显示一个完整但最小的输入HTML文档。谢谢更多帮助:.
    //div[@class='attributeTitle'和contains(text(),'Square')]
    同样有效。如果发布的是完整的DOM,那么在获取值时不需要[1],因为Square元素之后只有一个span节点。。
    "//div[@class='attributeTitle'][contains(text(),'Square')]/following-sibling::span[1]"