Задать вопрос
@tispoint

Как правильно сформулировать выражение Xpath, пожалуйста?

Есть приблизительно такой html (я убрал лишнее):
<div class="characteristic">Серия	</div>
<div class="value" >ProLiant 	</div>
<div class="clear"></div>
<div class="characteristic">Тип корпуса	</div>
<div class="value" >Rack 	</div>
<div class="clear"></div>


Пишу как-то так (пробовал по-разному):
l.add_xpath('line', "//div[text()='%s']/following-sibling::div[@class='value']/text()" % u"Серия ")
не срабатывает.
Помогите пожалуйста.
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию: от новичка до автоматизатора
    9 месяцев
    Далее
  • Skillbox
    Профессия Инженер по автоматизации тестирования
    9 месяцев
    Далее
  • Учебный центр IBS
    WEB-025_SELF Основы использования XML и XSD
    1 неделя
    Далее
Решения вопроса 1
glebovgin
@glebovgin
Full Stack Web Developer
Вот вполне себе рабочий xpath

//div[@class="characteristic" and text()[contains(normalize-space(.), "Серия процессора")]]/following-sibling::div[@class = "value"]


Главное с кодировкой чтобы не было проблем. Например, мне в случае с php пришлось принудительно текст привести к UTF-8 перед тем, как скормить его в метод loadHTML();
$html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@tispoint Автор вопроса
HTML я неправильно указал
<div class="char c1 ">
<div class="characteristic">Для процессоров </div>
<div class="value"> Intel  </div>
<div class="clear"/>
</div>
<div class="char c0 ">
<div class="characteristic">Серия процессора </div>
<div class="value"> Xeon  </div>
<div class="clear"/>
</div>

Это таблица. Она довольно длинная.
Надо чтобы искало по столбцу characteristic и возвращало значение из столбца value
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ENJOY PRO Санкт-Петербург
от 180 000 до 270 000 ₽
Сбер Москва
от 200 000 до 300 000 ₽
Сбер Москва
от 200 000 до 400 000 ₽