单击单选按钮的python RoboBrowser

时间:2016-10-10 21:55:42

标签: python-2.7 robobrowser

我一直在尝试修改下面的代码一段时间,由于某种原因,代码的每个部分都工作,除了必须单击单选按钮的部分,它说" 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)

2 个答案:

答案 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'