проблема механизации python с помощью selectcontrol - PullRequest
0 голосов
/ 05 августа 2011

в основном один из выбранных элементов управления имеет несколько «опций», в которых можно выбрать

, если я использую:

for t in br.forms():
        print t

вывод, который я получаю,

`SelectControl(ctl00$cph2$ddlSchool=[*2])
 SelectControl(ctl00$cph2$ddlMarkingPeriod=[*1, 2, 3, 4])
 SelectControl(ctl00$cph2$ddlCourseSection=[*1120:01:1, 1515:01:1, 2445:01:1, 3723:02:1, 4140:03:1, 5100:08:1, 1:01:1, 9970:07:1, 9913:01:1])>
 SubmitControl(ctl00$cph2$btnExecuteReport=Execute) (readonly)`

обратите внимание на звездочки

. Теперь я хочу сохранить список в "ctl00 $ cph2 $ ddlCourseSection" в моей программе, но если я попытаюсь сохранить его, а затем распечатать:

save = br.form['ctl00$cph2$ddlCourseSection'] 
print save

вывод, который я получаю:

['1120:01:1']

вместо:

['1120:01:1', '1515:01:1', '2445:01:1', '3723:02:1', '4140:03:1', '5100:08:1', '1:01:1', '9970:07:1', '9913:01:1']

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

Ответы [ 2 ]

0 голосов
/ 05 августа 2011

Делая это, вы получаете только значение по умолчанию.

save = br.form['ctl00$cph2$ddlCourseSection'] 
print save

Чтобы получить все значения, которые вы должны использовать

save = br.form.possible_items('ctl00$cph2$ddlCourseSection')
print save

я не проверял это, но я думаю, что это будетработа.

0 голосов
/ 05 августа 2011

Мне кажется, что вы пытаетесь назначить несколько значений для поля формы с одним выбором. Вы должны иметь мульти-выбор, чтобы сделать это успешно. Звездочкой обозначен выбранный элемент, не звёздочкой - остальные опции в списке. Вы уверены, что работаете с множественным выбором, а не с обычным полем выбора? Форма не позволит вам выбрать несколько значений для одного выбора.

...