选择深层嵌套元素

gri*_*igy 3 xpath scrapy

我正在阅读Scrapy/XPath教程,但这似乎并不重要,我找不到可以解释它的例子.

给定这样的标记你会如何选择<span>元素?

<div id=”...”>
	<div>
	<div>
	<div>
		<div>
		<div>
			<div>
				<div>
					<span>
Run Code Online (Sandbox Code Playgroud)

如果我们将问题概括为:

  • 在id ="..."的div中跳过n个div
  • 在div中跳过m个div
  • ...
  • 选择div中的span元素

kjh*_*hes 7

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

//div[@id='...']/div[3]/div[2]/div/div/span
Run Code Online (Sandbox Code Playgroud)

当然,如果spanid'ed下面没有其他元素div,你可以直接跳到它:

//div[@id='...']//span
Run Code Online (Sandbox Code Playgroud)

或者如果span整个文档中没有其他元素:

//span
Run Code Online (Sandbox Code Playgroud)