引用this page,我试图获取所有n Markets >
个链接,但只有那些后跟赔率的链接。您可能需要滚动浏览几页以查看网站上的示例,或者下面发布了截图。
从截图中,我想要的链接(以绿色圈出)后面是赔率(用红色圈出)。我不希望链接(标有红色X)后面没有赔率(用黄色圈出)。
是否可以根据旁边是否存在.purple-arrow
来获取所有.bettype:nth-child(1) .bet-party
元素?
应该足够简单,以下和前面但这不是给予期望。
//*[contains(@href,'/sports-betting/soccer/')]/ancestor::*[contains(@class,'bet-party')]/preceding-sibling::span['other-matches']//*[contains(@href, '/sports-betting/soccer/')]
答案 0 :(得分:1)
您可以使用XPath执行此操作。
//div[@class='container-fluid'][not(.//div[contains(@class,'no-outcomes')])]//a[@class='purple-arrow']
分解
//div[@class='container-fluid']
找到包含“容器流体”类的DIV
。这些是容纳整个HTML匹配行的顶级容器。
[not(.//div[contains(@class,'no-outcomes')])]
它必须没有包含“无结果”类的后代DIV
。如果DIV
具有此类,则该行没有发布赔率,因此我们不希望这些。
//a[@class='purple-arrow']
最后......返回“紫色箭头”类的链接。
您可以使用$x()
在Chrome开发工具中对此进行测试。