Я использую Python и Selenium для очистки сайта. Использовал find_by_element
, чтобы найти все нужные мне значения, но я столкнулся с чем-то более сложным. HTML-сайт показывает точно структуру двух разных значений, и я не могу использовать простой find_element_by_class
, потому что они имеют одинаковые классы и идентификаторы. Я не хочу использовать xpath или селектор, потому что я повторяю это во многих div-полях "flight-row", и это заставило бы мысли быть более жестко закодированными.
<div class="flight-row">
<div class="row row-eq-heights">
<div class="col-xs-4 col-md-4 no-padding"><span class="airline-name">gol</span><span class="flight-number">AM-477</span></div>
<div class="col-xs-4 col-md-4">
<div class="flight-timming"><span class="flight-time">06:15</span><span class="flight-destination">IAH</span></div><span class="flight-data">01/10/19</span></div>
<div class="col-xs-4 col-md-4 no-padding">
<div class="duration"><span class="flight-duration">21:25</span><span class="flight-stops" aria-label="Paradas do voo">2 paradas</span></div>
</div>
<div class="col-xs-4 col-md-4">
<div class="flight-timming"><span class="flight-destination">GIG</span><span class="flight-time">05:40</span></div><span class="flight-data">02/10/19</span></div>
</div>
</div>
Я хочу получить значения из времени полета, пункта назначения и данных о полете из обоих div "col-xs-4 col-md-4".
Это немного из моего кода:
outbound_flights = driver.find_elements_by_css_selector("div[class^='flight-item ']")
for outbound_flight in outbound_flights:
airline = outbound_flight.find_element_by_css_selector("span[class='airline-name']")
Спасибо!