我正在尝试使用两个数据项创建一个dicts列表。
我正在查看的页面有//div[@id='content']/*[self::p or self::h2]/a[2]
的37个匹配项;但是,它只有33场比赛
//div[@id='content']/*[self::p or self::h2]/a[contains(@href,'game')]/img[@src]
这两个xpath共有//div[@id='content']/*[self::p or self::h2]
个。如果第二个xpath匹配,我实际上只希望获得第一个xpath匹配的元素,并留下没有第二个元素的4。
我希望这可以通过xpath实现,但如果没有,可以使用一些建议来编写一个在python中实现此功能的函数。
答案 0 :(得分:0)
你可以在XPath中进行匹配,然后简单地在Python中将结果节点作为父节点。
答案 1 :(得分:0)
听起来这就是你想要的:
//div[@id='content']/*[self::p or self::h2]/a[2][contains(@href,'game') and img[@src]]
你可以尝试一下吗?
答案 2 :(得分:0)
您是否正在寻找此XPath:
//div[@id='content']/*[self::p/a[contains(@href,'game')]/img[@src] or self::h2/a[contains(@href,'game')]/img[@src]]/a[2]