Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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
Python 在xpath中处理深度嵌套的标记_Python_Html_Xpath_Lxml_Python Requests - Fatal编程技术网

Python 在xpath中处理深度嵌套的标记

Python 在xpath中处理深度嵌套的标记,python,html,xpath,lxml,python-requests,Python,Html,Xpath,Lxml,Python Requests,请帮帮我! 我不知道如何选择深度嵌套的标记来选择文本 里面。 如果有人能帮我说,如何做到这一点,在一个单一的行与 xpath查询,请给我一个关于答案的解释。 下面我给出了一个html代码,任何人都可以解释如何显示Hello world或该标记中的任何内容 <div> <div> <div> <div> <div> <div> <div&

请帮帮我! 我不知道如何选择深度嵌套的标记来选择文本 里面。 如果有人能帮我说,如何做到这一点,在一个单一的行与 xpath查询,请给我一个关于答案的解释。 下面我给出了一个html代码,任何人都可以解释如何显示Hello world或该标记中的任何内容

<div>
  <div>
    <div>
      <div>
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div class="deep">
                      <span>
                        <strong class="select">Hello world!</strong>
                      </span>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

我假设,因为您要求文本属性,所以您希望匹配的节点是强标记,这是唯一一个包含内容的节点

如果保证文档根中只有一个标记,并且嵌套级别无关,那么最简单的xpath应该是:

//strong/text()
要特别匹配via类,请执行以下操作:

//strong[@class="select"]/text()
//将从文档根开始,@是一个属性匹配子句


您必须告诉我们选择文本的确切标准。它是由类select提供的,例如完全独立于上下文,还是必须在a中,等等。如果您包括您迄今为止尝试过的内容,那也很好。这通常是一个很好的起点。感谢您的建议Marcus Rickert:…下次将包括它..请注意,只有在类属性正好是select的情况下,这才有效。对于class=select foo,它将不起作用。获取类似于CSS.class选择器的行为需要花费大量时间。