2016-09-17 3 views
1

mailman의 모든 메시지를 무시하기 위해 간단한 체크 박스 인 robobrowser을 확인하는 데 어려움을 겪고 있습니다.robobrowser로 일반 체크 박스 설정

form['discardalldefersp'].options 

반환 ['0'],도

form['discardalldefersp'].value= True 

form['discardalldefersp'].value = '1' 

는 결과를 제공합니다. 'ValueError : 옵션 1이 필드에 없습니다.'

어떻게 체크 박스를 설정할 수 있습니까?

모든 일에 대한 나의 코드는 다음과 같습니다 : 나는과 유사한 오류 메시지가 있었다

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

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

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

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

<h2>Zurückgehaltene Nachrichten</h2></center> 

... 

</FORM> 

enter image description here

+0

완료, 코드를 추가했습니다. –

답변

1

:

import robobrowser 

pw = '<password>' 

browser = RoboBrowser(history=True) 
browser.open('<mailmanlist>') 

form = browser.get_form(action='/mailman/admindb/<listname>') 

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

form = browser.get_form(action='<listurl>') 

form['discardalldefersp'].value = '1' 

html로는 (독일어) 다음과 같다 라디오 버튼. 이 문제를 해결하면 Robobrowser 필드 discardalldefersp에 '1'의 옵션 또는 사실을 추가 확인하십시오 :

form['discardalldefersp'].options = [True] 
form['discardalldefersp'].value = True 

저를 해결 :

form['discardalldefersp'].options = ['1'] 
form['discardalldefersp'].value = '1' 

또는 진정한 옵션을

오류 메시지가 나타나지만 양식이 제대로 작동하지 않았지만 제대로 작동하지 않는 웹 사이트라고 생각합니다.