Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Checkbox input using python mechanize

I want to fill a form using python mechanize. form looks like:

<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)>>

How do i set the value of live or undefinesource (checkbox) to True(ticked) or False(untick) Items of live and undefinsource are:

>>> 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'>]
like image 328
Jatin Kumar Avatar asked Jul 26 '11 17:07

Jatin Kumar


1 Answers

One way that I have done it is

br.find_control("live").items[0].selected=True
like image 154
murgatroid99 Avatar answered Oct 18 '22 17:10

murgatroid99