2016-02-16 1 views
0

Я не могу найти ответ на это в сети.Как найти два разных имени класса, используя find_elements_by_css_selector

Вот фрагмент кода HTML:

<td> 
    <div class="low-fare-day active"></div> 
    <div class="low-prices"></div> 
</td> 
<td> 
    <div class="low-fare-day"></div> 
    <div class="low-prices1"></div> 
</td> 

Ниже мой код:

Я хочу, чтобы найти два класса лоу-кост-день и low-fare-day.active использованием css_selector, но не мог заставить его работать. Может ли кто-нибудь решить эту загадку для меня?

fromdata = driver.find_elements_by_css_selector ('div.low платы за проезд дня', 'div.low-fare-day.active')

или

fromdata = driver.find_elements_by_css_selector ('дел. лоу-кост-день»| 'div.low-fare-day.active')

+0

Вы имеете в виду элементы, соответствующие обеим классам, или любой из них? Если оба, 'div.low-fare-day.active' должны работать как селектор. –

+0

да, мне нужно сопоставить оба класса. div.low-fare-day.active возвращает только первый выигрыш «низких цен». второй класс «low-fare-day» имеет пустое место, заставляя его вернуть только первый приз? –

ответ

1

Попробуйте:

driver.find_elements_by_css_selector('div[class*=low-fare-day]') 

Объяснение:

ДИВ [класс * = низкий тариф-день] -> означает, что вы ищете DIV

ДИВ [класс * = низкий тариф-день] -> Вы выбираете значение класса внутри DIV выбран до сравнения значений

* = после класса означает, что вы будете Cath все, что равно или содержит следующее значение

ДИВ [класс = низкого тарифа дня] -> ценность для co mpare, если класс div содержит его

+0

большое спасибо! @striter alfa –

Смежные вопросы