如何使用选择器获取第二个和第三个元素?
Posted
技术标签:
【中文标题】如何使用选择器获取第二个和第三个元素?【英文标题】:How to use a selector to get the second and third element? 【发布时间】:2018-10-01 13:46:45 【问题描述】:我需要一种方法来获取属性 xodd ( tzccftzxt, czofczec, az9faz8p ) 的值。
这是html代码:
<tr class=" deactivate" xeid="A1nOsGN0">
<td class="table-time datet t1523797200-8-1-0-0 ">15/04, 15:00</td>
<td class="name table-participant"><a href="/soccer/italy/serie-a/ac-milan-napoli-A1nOsGN0/">AC Milan - <span class="bold">Napoli</span></a></td>
<td class="center bold table-odds table-score">0:0</td>
<td class="odds-nowrp" xoid="E-2r00txv464x0x6kc61" xodd="tzccftzxt"><a href="" onclick="globals.ch.togle(this , 'E-2r00txv464x0x6kc61');return false;" xparam="odds_text">4.24</a></td>
<td class="result-ok odds-nowrp" xoid="E-2r00txv498x0x0" xodd="czofczec"><a href="" onclick="globals.ch.togle(this , 'E-2r00txv498x0x0');return false;" xparam="odds_text">3.53</a></td>
<td class="odds-nowrp" xoid="E-2r00txv464x0x6kc62" xodd="az9faz8p"><a href="" onclick="globals.ch.togle(this , 'E-2r00txv464x0x6kc62');return false;" xparam="odds_text">1.87</a></td>
<td class="center info-value">5</td>
</tr>
这是我的python代码:
for partita in response.css('tr.deactivate'):
yield
'1': partita.css('td.odds-nowrp ::attr(xodd)').extract_first(),
'X': partita.css('td.odds-nowrp:nth-child(1) ::attr(xodd)').extract_first(),
'2': partita.css('td.odds-nowrp:nth-child(2) ::attr(xodd)').extract_first(),
但我只得到:
1: tzccftzxt
X: None
2: None
如何获得第二个和第三个值?
【问题讨论】:
【参考方案1】:不确定 python 但 CSS Selecter 会像
td.odds-nowrp[xodd]:nth-child(4)
td.odds-nowrp[xodd]:nth-child(5)
td.odds-nowrp[xodd]:nth-child(6)
【讨论】:
【参考方案2】:好的解决了:
yield
'PARTITA': partita.css('td.name a::text').extract_first(),
'PUNTEGGIO': partita.css('td.table-score::text').extract_first(),
'1': partita.css('td.odds-nowrp ::attr(xodd)').extract()[0],
'X': partita.css('td.odds-nowrp ::attr(xodd)').extract()[1],
'2': partita.css('td.odds-nowrp ::attr(xodd)').extract()[2],
【讨论】:
以上是关于如何使用选择器获取第二个和第三个元素?的主要内容,如果未能解决你的问题,请参考以下文章
单击预览后,如何在我的 React 应用程序上显示第二个和第三个按钮?
如何在不同的列中选择第一个、第二个和第三个值 - Ms Access