2

我一直在尝试修复下面的代码一段时间,由于某种原因,代码的每个部分都可以工作,除了必须单击单选按钮的部分,它显示“ValueError:在字段中找不到选项 1”但是有一个选项是 1,它是 0 或 1。我曾经玩过 mechanize 我知道我大部分时间在做什么,但是有人可以帮忙吗?求求你了,谢谢你

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)
4

2 回答 2

3

这与此问题相同:Seting a plain checkbox with robobrowser

此代码应该适合您:

form['gender'].options = ['1']
form['gender'].value = '1'
于 2016-10-11T12:02:08.193 回答
1

有时 RoboBrowser 不会对具有相同名称的单选按钮进行分组,因此您会发现自己有两个单独的“性别”字段。

这是解决此问题的解决方案:

radios = form.fields.poplist('gender')
form.add_field(radios[0])
form['gender'].options += ['1']
form['gender'] = '1'
于 2018-09-18T15:21:42.460 回答