我一直在尝试修改下面的代码一段时间,由于某种原因,代码的每个部分都工作,除了必须单击单选按钮的部分,它说" ValueError:未找到选项1在现场"但有一个选项是1,它是0或1.我曾经玩机械化我知道我在做什么大部分,但任何人都可以帮忙吗?请&谢谢
from robobrowser import RoboBrowser
browser = RoboBrowser(parser='html.parser')
browser.open(url)
form = browser.get_forms()[0]
form['username'] = 'foo'
form['password'] = 'foo'
form['gender'] = [1] #Radio button
browser.session.headers['Referer'] = url
browser.submit_form(form)
答案 0 :(得分:2)
这与此问题相同:Setting a plain checkbox with robobrowser
此代码适用于您:
form['gender'].options = ['1']
form['gender'].value = '1'
答案 1 :(得分:0)
有时RoboBrowser不会将具有相同名称的单选按钮进行分组,否,因此您可以在两个单独的“性别”字段中找到自己。
以下是解决此问题的解决方案:
radios = form.fields.poplist('gender')
form.add_field(radios[0])
form['gender'].options += ['1']
form['gender'] = '1'