1
J'ai un client de messagerie. Je vérifie les « cases » des e-mails que je dois faire quelque chose (mouvement, dételé, œufs) comme celui-ci en utilisant mécaniser python:Case à cocher mécaniser Python avec liste déroulante soumettre
br.open(login_url)
br.open(url_1)
br.select_form(nr=0)
for i in range(0, len(br.find_control(type="checkbox").items)):
if "4" in str(br.find_control(type="checkbox").items[i]):
br.find_control(type="checkbox").items[i].selected = False
else:
br.find_control(type="checkbox").items[i].selected = True
reponseaa = br.submit()
print reponseaa
br.open(url_2)
br.select_form(nr=2)
for i in range(0, len(br.find_control(type="checkbox").items)):
if "45198" and "4519" in str(br.find_control(type="checkbox").items[i]):
br.find_control(type="checkbox").items[i].selected = True
else:
br.find_control(type="checkbox").items[i].selected = False
br.form['self'] = ["88"]
r1 = br.submit()
print r1
le problème est avec le bouton d'envoi, ce qui est un menu déroulant, qui ressemble à ceci:
<select name="self">
<option value="0">Select an action</option>
<option value="87">Move</option>
<option value="88">Delete</option>
<option value="89">Mark as Important</option>
</select>
<input type="submit" name="submit" value="Action!">
Comment puis-je sélectionner Supprimer et appuyer sur le bouton Soumettre? Un exemple de code serait génial. Merci.
Je reçois cette erreur: mechanize._form.ParseError: les formulaires imbriqués. J'ai mis à jour le code de la question pour mieux comprendre ce que je fais. –
C'est parce que vous avez une forme dans une autre. Prenez un butin à cette [question] (http://stackoverflow.com/questions/7135964/submitting-nested-form-with-python-mechanize) – ton1c
C'est vrai. J'en ai un: