经过大量的搜寻之后,重新发布有关reddit的帮助,然后随机绊倒这个RoboBrowser问题,该问题向我展示了如何正确使用’fields.add_field()’方法;问题已经解决了。
例如
b_e_arg = robobrowser.forms.fields.Input('<input name="__EVENTARGUMENT" value="" />')b_e_target = robobrowser.forms.fields.Input('<input name="__EVENTTARGET" value="PhoneListsControl$MasterDataControl$masterList$_ctl0$SelectButton" />')In [30]: form_find_b.add_field(b_e_target)In [31]: form_find_b.add_field(b_e_arg)
用这些值更新表单后,提交给“ PhoneLists.aspx”的表单将按预期工作。
In [33]: m.submit_form(form_find_b)In [34]: m.urlOut[34]: u'http://example/PhoneLists.aspx'In [35]: m.parsed.findAll('div', id='PhoneListsControl_phoneListMembersText')Out[35]: [<div id="PhoneListsControl_phoneListMembersText"> Work </div>]In [36]: m.parsed.findAll('input', id='PhoneListsControl_phoneListDetail__ctl2_number')Out[36]: [<input id="PhoneListsControl_phoneListDetail__ctl2_number" maxlength="50" name="PhoneListsControl:phoneListDetail:_ctl2:number" onkeyup="enableApplyButton('PhoneListsControl_')" type="text" value="95551234567"/>]
我希望其他必须抓取ASPX网站的人都能发现这一点。祝大家开心!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)