使用xpath查询排除某些元素

使用xpath查询排除某些元素,xpath,Xpath,我使用XPath从以下URL提取某些元素: 要提取主要内容,我使用以下查询: //p[@class='has-media media-640'] 但是,我想从这个主要内容中排除“放大镜灯箱”类的所有跨度。我查看了StackOverflow并尝试了各种方法,例如: //div[@class='row post-content']/*[not(self::span[@class='magnifier lightBox'])] 无济于事 您正在搜索p,而不是跨度。你想如何排除它们?你已经尝试了各

我使用XPath从以下URL提取某些元素:

要提取主要内容,我使用以下查询:

//p[@class='has-media media-640']
但是,我想从这个主要内容中排除“放大镜灯箱”类的所有跨度。我查看了StackOverflow并尝试了各种方法,例如:

//div[@class='row post-content']/*[not(self::span[@class='magnifier lightBox'])]

无济于事

您正在搜索p,而不是跨度。你想如何排除它们?你已经尝试了各种方法。你试了什么?什么不起作用?XPath只能选择子树,不能修改它们。您无法删除包含在p元素中的span元素。我尝试过诸如//div[@class='row post content']/*[not(self::span[@class='magnifier lightBox']])等方法,并尝试过使用self、genderant等。我确实成功地删除了旁白(在不同的页面上),所以我很惊讶无法排除某个类的span。如果这绝对不可能的话,这似乎是一个重大的失败。