Задать вопрос
@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"Серия ")
не срабатывает.
Помогите пожалуйста.
  • Вопрос задан
  • 204 просмотра
Подписаться 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы