Xpath 选择深度嵌套元素

Xpath 选择深度嵌套元素,xpath,scrapy,Xpath,Scrapy,我正在阅读Scrapy/XPath教程,但这似乎并不简单,我找不到一个例子来解释它 给定这样的标记,您将如何选择元素 假设缩进表示示例中的包含,下面的XPath将为您选择span元素: //div[@id='...']/div[3]/div[2]/div/div/span 当然,如果id'eddiv下面没有其他span元素,您可以直接跳到它: //div[@id='...']//span 或者如果整个文档中没有其他span元素: //span 非常明确的答案。谢谢它有帮助,但由于某种原因

我正在阅读Scrapy/XPath教程,但这似乎并不简单,我找不到一个例子来解释它

给定这样的标记,您将如何选择
元素


假设缩进表示示例中的包含,下面的XPath将为您选择
span
元素:

//div[@id='...']/div[3]/div[2]/div/div/span
当然,如果id'ed
div
下面没有其他
span
元素,您可以直接跳到它:

//div[@id='...']//span
或者如果整个文档中没有其他
span
元素:

//span

非常明确的答案。谢谢它有帮助,但由于某种原因,我无法提取选择器。如果我记录内容,它会打印一个“正方形”符号。如果看不到完整的示例,很难说出来,但它可能没有显示所选元素的字符串值。显式选择范围的文本节点(通过将
/text()
附加到XPath中)是否有帮助?否。它返回一个空列表。它仅为//div[@id='…'返回一个非空值,对于其下的所有其他节点,选择器将返回一个空列表。如果您提供了一个显示问题的列表,则应该很容易看到发生了什么并提供帮助。谢谢。