Select following-sibling if child node has 属性
Select following-sibling if child node has attribute
我正在为网站创建一个抓取工具:
https://www.oddsportal.com/darts/europe/european-championship/results/
我正在使用启动插件 渲染 javascript
我想按照往年的历史数据,往年有class"inactive"。所以,我想要一个 Xpath 表达式来找到 "active" 年份并获得前一年的 href。
这是 HTML 的片段:
<div class="main-menu2 main-menu-gray"><ul class="main-filter"><li><span class="active"><strong><a href="/darts/europe/european-championship/results/">2018</a></strong></span></li><li><span class="inactive"><strong><a href="/darts/europe/european-championship-2017/results/">2017</a></strong></span></li><li><span class="inactive"><strong><a href="/darts/europe/european-championship-2016/results/">2016</a></strong></span>
这是我的尝试:
response.xpath('//div[@class="main-menu2 main-menu-gray"]/ul/following-sibling::li[child::span[@class="active"]]/strong/a/@href').get()
我希望这样 return:
/darts/europe/european-championship-2017/results/
因为这是当前 url 的前一年。
这是 xpath 中的选项。
(//div[@class="main-menu2 main-menu-gray"]/ul/li[.//span[@class="active"]]/following-sibling::li//a)[1]
简单,但不确定是否必须完全中继活动元素。
(//div[@class='main-menu2 main-menu-gray']//span[@class='inactive']//a)[1]
我正在为网站创建一个抓取工具: https://www.oddsportal.com/darts/europe/european-championship/results/
我正在使用启动插件 渲染 javascript
我想按照往年的历史数据,往年有class"inactive"。所以,我想要一个 Xpath 表达式来找到 "active" 年份并获得前一年的 href。
这是 HTML 的片段:
<div class="main-menu2 main-menu-gray"><ul class="main-filter"><li><span class="active"><strong><a href="/darts/europe/european-championship/results/">2018</a></strong></span></li><li><span class="inactive"><strong><a href="/darts/europe/european-championship-2017/results/">2017</a></strong></span></li><li><span class="inactive"><strong><a href="/darts/europe/european-championship-2016/results/">2016</a></strong></span>
这是我的尝试:
response.xpath('//div[@class="main-menu2 main-menu-gray"]/ul/following-sibling::li[child::span[@class="active"]]/strong/a/@href').get()
我希望这样 return:
/darts/europe/european-championship-2017/results/
因为这是当前 url 的前一年。
这是 xpath 中的选项。
(//div[@class="main-menu2 main-menu-gray"]/ul/li[.//span[@class="active"]]/following-sibling::li//a)[1]
简单,但不确定是否必须完全中继活动元素。
(//div[@class='main-menu2 main-menu-gray']//span[@class='inactive']//a)[1]