我正在使用 twill 和 python 编写网络爬虫。 showforms() 返回
Form name=customRatesForm (#1)
## ## __Name__________________ __Type___ __ID________ __Value__________________
10 originState hidden originState TN
11 destState hidden destState IL
12 originZip text originZip 37130
13 destZip text destZip 60602
16 classes select classes1 ['0000'] of ['0000', '0500', '0550', ...
17 weight text weight1 600
18 weight text weight2
19 weight text weight3
20 weight text weight4
30 1 submit submi ... submit
为了便于阅读,我删除了大部分行。我的问题是实际上有 12 个选择,并且它们都具有名称“类”。这些通过 CGI 作为列表传递。然而,斜纹似乎无法区分它们。另外,当我运行时
fv('1', 'classes', '0500')
我收到以下错误:
_mechanize_dist.ClientForm.AmbiguityError: id=None name='0500' label=None
我已经尝试了一些解决方法,包括用它们的 ID 重命名选择,然后重写提交函数以使用 jQuery 选择器并将它们的“名称”属性重新分配回“类”:
$('.myclasses').attr('name', 'classes');
当我在浏览器中查看时,它似乎按预期重新分配了它们。但是,twill 的 header 仍将其显示为使用名称“classes1”、“classes2”等提交。
任何帮助将不胜感激。我没有我知道的解决方法。因为这不是我的页面,所以我受制于他们的 Controller 对“类”选择列表的期望。
请您参考如下方法:
就我目前为止所发现的,斜纹织物无法做到这一点。任何解决方案都将成为斜纹布之外的解决方法。
