Python 在<;范围内机械化填写文本区域;noscript>;标签

Python 在<;范围内机械化填写文本区域;noscript>;标签,python,mechanize,Python,Mechanize,因此,我有以下HTML代码: <form action="blabla" blabla > <input 1 type=blah> <input 2 type=blah2> etc <noscript> <textarea name="prda" rows="3" cols="40"></textarea> </noscript> 等 我想用mechanize(在Python中)更好地填写texta

因此,我有以下HTML代码:

<form action="blabla" blabla >
<input 1 type=blah>
<input 2 type=blah2> etc
<noscript>
    <textarea name="prda" rows="3" cols="40"></textarea>
</noscript>
我想用mechanize(在Python中)更好地填写textarea,然而,表单[“prda”]总是让我控制找不到的错误。StackOverflow上的另一个用户建议mechanize不能解析标签中的控件,这对我来说有点奇怪


无论如何,我的问题是,是否可以机械化解析标记中的控件,如果是,如何进行?此外,如果有人能给我写文本区的选择,我会非常高兴听到它。谢谢

我稍微更改了您的HTMl(关闭“表单”标记并向文本框添加一些内容以进行测试):


福巴

好的,下面是mechanize版本:

from mechanize import ParseResponse, urlopen

response = urlopen("http://localhost:8000/test")
forms = ParseResponse(response, backwards_compat=False)
form = forms[0]
print form["prda"]
这会打印“Foobar”,所以我想我成功地选择了文本框

非机械化版本:来自:


Mechanize无法识别此特定控件,因此需要向窗体中添加新参数

br.form.new_control('text','prda',{'value':''})
br.form.fixup()
br.form['prda'] = 'input'

我知道你可能不再感兴趣了,但我为解决同样的问题发疯了。

Gawd,我希望mechanize有更好的文档。我不知道
new\u control
fixup
方法!这是一个非常老的问题,我最终使用
RobustFactory()
解决了它,但还是要感谢您!我在和投票反对我的机械化方案的人谈话。不管怎样,你试过我的方法吗?我可能已经为你找到了一个有效的解决方案…@Deusdies我投票决定修复你的声誉
br.form.new_control('text','prda',{'value':''})
br.form.fixup()
br.form['prda'] = 'input'