Чтобы автоматизировать форму SMS, представленную на "http://www.die-startseite.ch/Bern/", я создал следующий код
#!/usr/bin/env python
# EXAMPLE: sms 0791234567 This is a message
import re
import mechanize
import sys
if len(str(" ".join(sys.argv[2:]))) > 130:
print "Error: the message is too long. ("+str(len(str(" ".join(sys.argv[2:]))))+"/130)"
else:
browser=mechanize.Browser()
browser.open('http://www.die-startseite.ch/Bern/')
browser.select_form(name='smsBooster',nr=0)
browser['intlPrefix'] = ['0041'+sys.argv[1][1:3]]
browser['SMSEingabe'] = sys.argv[1][3:]
browser.form.new_control('text','smsMessage',{'value':''})
browser.form.fixup()
browser.form['smsMessage'] = str(" ".join(sys.argv[2:]))
browser.submit()
. Это дает мне следующую ошибку
mechanize._form_controls.AmbiguityError: more than one control matching name 'smsMessage'
Однако существует только одна форма с идентификатором smsMessage
. Я не могу понять причину ошибки. Есть догадки?