Флажок ввода с использованием Python Mechanize - PullRequest
7 голосов
/ 26 июля 2011

Я хочу заполнить форму, используя python mechanize.Форма выглядит следующим образом:

<POST https://10.20.254.39/cloud_computing/vmuser/migrate_vm/cli multipart/form-data
  <TextControl(vm=cli)>
  <TextControl(chost=10.20.14.39)>
  <SelectControl(dhost=[*, 28, 27])>
  <CheckboxControl(live=[on])>
  <CheckboxControl(undefinesource=[on])>
  <CheckboxControl(suspend=[on])>
  <SubmitControl(<None>=Submit) (readonly)>
  <HiddenControl(_formkey=85819e5a-02bb-42c8-891f-3ddac485438b) (readonly)>
  <HiddenControl(_formname=migrate_create) (readonly)>>

Как установить для значения live или undefinesource (флажок) значение True (отмечено) или False (снять флажок). Элементы live и undefinsource:

>>> print br.form.controls[4].get_items()
[<Item name='on' id='migrate_undefinesource' checked='checked' name='undefinesource' type='checkbox' id='migrate_undefinesource' value='on' class='boolean'>]
>>> print br.form.controls[3].get_items()
[<Item name='on' id='migrate_live' checked='checked' name='live' type='checkbox' id='migrate_live' value='on' class='boolean'>]

1 Ответ

11 голосов
/ 26 июля 2011

Один способ, которым я это сделал, это

br.find_control("live").items[0].selected=True
...