Setting a plain checkbox with robobrowser
<p>I am struggling to check a simple checkbox with <code>robobrowser</code> to discard all messages in mailman.</p>

<pre><code>form['discardalldefersp'].options
</code></pre>

<p>returns <code>['0']</code>, neither </p>

<pre><code>form['discardalldefersp'].value= True
</code></pre>

<p>nor </p>

<pre><code>form['discardalldefersp'].value = '1'
</code></pre>

<p>delivers a result. I only get 'ValueError: Option 1 not found in field '</p>

<p>How can I set the checkbox?</p>

<p>My code for the whole thing is as following:</p>

<pre><code>import robobrowser

pw = '&lt;password&gt;'

browser = RoboBrowser(history=True)
browser.open('&lt;mailmanlist&gt;')

form = browser.get_form(action='/mailman/admindb/&lt;listname&gt;')

form['adminpw'].value = pw
browser.submit_form(form)

form = browser.get_form(action='&lt;listurl&gt;')

form['discardalldefersp'].value = '1'
</code></pre>

<p>The HTML is the following (in German):</p>

<pre><code>&lt;HTML&gt;
&lt;HEAD&gt;
&lt;LINK REL="SHORTCUT ICON" HREF="/images/mailman/mm-icon.png"&gt;
&lt;META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;
&lt;TITLE&gt;Administrative Datenbank&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY bgcolor="white"
dir="ltr"&gt;
&lt;h2&gt;Administrative Anfragen fÃ¼r Liste: &lt;em&gt;foobar&lt;/em&gt;&lt;/h2&gt;&lt;!-- based on en 2.0 / StD--&gt;
Diese Seite zeigt eine &amp;Uuml;bersicht der gegenw&amp;auml;rtigen administrativen
Anfragen f&amp;uuml;r die &lt;a href="https://lists.server.de/mailman/admin/foobar"&gt;&lt;em&gt;foobar&lt;/em&gt;
Mailingliste&lt;/a&gt;, die auf Ihre Genehmigung warten. Als erstes sehen Sie eine
Liste allf&amp;auml;lliger Abonnement- und K&amp;uuml;ndigungsanfragen, gefolgt von
eventuellen Nachrichten, die Ihre Genehmigung erfordern, und daher gestoppt
wurden.

&lt;p&gt;Bitte w&amp;auml;hlen Sie f&amp;uuml;r jede Anfrage die zu treffende Ma&amp;szlig;nahme
aus, und klicken Sie auf den &lt;b&gt;Alle Daten senden&lt;/b&gt; Knopf, wenn sie fertig
sind. Eine &lt;a href="https://lists.server.de/mailman/admindb/foobar?details=instructions"&gt;detaillierte Anleitung&lt;/a&gt; ist ebenfalls
verf&amp;uuml;gbar.

&lt;p&gt;Sie k&amp;ouml;nnen sich auch &lt;a href="https://lists.server.de/mailman/admindb/foobar?details=all"&gt;Details&lt;/a&gt; zu allen
gestoppten Nachrichten anzeigen lassen.

&lt;FORM action="https://lists.server.de/mailman/admindb/foobar" method="POST" &gt;
&lt;center&gt;
&lt;INPUT name="submit" type="SUBMIT" value="Alle Daten senden" &gt;&lt;/center&gt;
&lt;center&gt; 
&lt;INPUT name="discardalldefersp" type="CHECKBOX" value="0" &gt;&amp;nbsp;Alle mit     &lt;em&gt;Verschieben&lt;/em&gt; markierten Nachrichten verwerfen.
&lt;/center&gt;
&lt;hr&gt;
&lt;center&gt;

&lt;h2&gt;ZurÃ¼ckgehaltene Nachrichten&lt;/h2&gt;&lt;/center&gt;

...

&lt;/FORM&gt;
</code></pre>

<p><a href="http://i.stack.imgur.com/Qere7.png" rel="nofollow"><img src="http://i.stack.imgur.com/Qere7.png" alt="enter image description here"></a></p>

<p>I had a similar error message with a radio button. Try to add the option of '1' or True to the Robobrowser field <strong>discardalldefersp</strong> and see if it solves the problem:</p>

<pre><code>form['discardalldefersp'].options = ['1']
form['discardalldefersp'].value = '1'
</code></pre>

<p>Or with the True option:</p>

<pre><code>form['discardalldefersp'].options = [True]
form['discardalldefersp'].value = True
</code></pre>

<p>That solved me of getting the error message but the form didn't work well, but I think it was the web site that wasn't working good.</p>

python beautifulsoup robobrowser