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
用于提取可能位于<;中的名称的xPath查询;a>;元素,并且可能仅在<;td>;要素_Xpath - Fatal编程技术网

用于提取可能位于<;中的名称的xPath查询;a>;元素,并且可能仅在<;td>;要素

用于提取可能位于<;中的名称的xPath查询;a>;元素,并且可能仅在<;td>;要素,xpath,Xpath,我正试图从一张表格中提取足球队所在城市的名称。 我正在使用python库lxml和请求。 有些元素以名称元素的形式包含它们的名称,有些元素仅以名称元素的形式包含它们的名称 名字 例如,阿森纳的形态->属于伦敦,名字伦敦放在里面 Element=” () 60,704 “那么: //td[position()=1 or position()=2]//text() 这将得到: 切尔西伦敦(富勒姆) 及 阿森纳伦敦(霍洛韦) 然后可以使用.split()从中获取单独的元素如果我理解正确,这是您的x

我正试图从一张表格中提取足球队所在城市的名称。 我正在使用python库lxml和请求。 有些元素以名称元素的形式包含它们的名称,有些元素仅以名称元素的形式包含它们的名称 名字

例如,阿森纳的形态->属于伦敦,名字伦敦放在里面

Element=”
()
60,704
“
那么:

//td[position()=1 or position()=2]//text()
这将得到:

切尔西伦敦(富勒姆)

阿森纳伦敦(霍洛韦)


然后可以使用
.split()
从中获取单独的元素

如果我理解正确,这是您的xpath:

//tr/td[2]/(text(),a/text())
输出:

London
London 

XPath 1.0有两个选项。一艘班轮:

//tr/td[2]/span/preceding::text()[position()=1 or position()=2][normalize-space()]
输出:
伦敦

或者使用
|
操作符:

//tr/td[2]/a/text()|//tr/td[2]/text()[1][normalize-space()]

输出:
London London

给定您的两个
元素
s,您想要的输出到底是什么?@JackFleering The city它将其放置在这个场景中,因此这两个元素都在伦敦…谢谢您不知道or操作符!