Найти - Пользователи
Полная версия: Python + grab
Начало » Python для новичков » Python + grab
1
Duck-Pagan
Здравствуйте.
Пытаюсь разобраться с такой проблемой:
в html-форме есть select:
<div id='top'>
<select name="student">
<option value="1">Один</option>
<option value="2">Два</option>
<option value="3">Три</option>
<option selected="" value=""> не выбрано </option>
</select>
</div>

При помощи grab, хочу получить
[(1,'Один'),(2,'Два'),(3,'Три'),('','не выбрано')]
.

Подскажите, можно ли как-то получить текстовую часть из такого запроса:
[(i.get('value'), i) for i in gInfo.xpath_list('//select//option')]
#возвращает:
[('1', <Element option at 0x2d569b0>), ('2', <Element option at 0x2d56b90>), ('3', <Element option at 0x2d5a4d0>), ('', <Element option at 0x2d5a950>)] 

Или предстоит склеивать:
gInfo.xpath_list('//select//option')
и разбитый:
gInfo.xpath_text('//*[@id="top"]').split()
s0rg
a = ('1', <Element option at 0x2d569b0>)
b = (a[0], a[1].text)
Читаем про lxml

Или сразу:
[(i.get('value'), i.text) for i in gInfo.xpath_list('//select//option')]
Duck-Pagan
Спасибо.
s0rg
Или сразу:
[(i.get('value'), i.text) for i in gInfo.xpath_list('//select//option')]
Интуитивно крутилось что-то такое.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB