jgi*_*ich 10 python mechanize mechanize-python
我想选择一个机械化的表格.这是我的代码:
br = mechanize.Browser()
self.br.open(url)
br.select_form(name="login_form")
Run Code Online (Sandbox Code Playgroud)
表格的代码:
<form id="login_form" onsubmit="return Index.login_submit();" method="post" action="index.php?action=login&server_list=1">
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
mechanize._mechanize.FormNotFoundError: no form matching name 'login_form
Run Code Online (Sandbox Code Playgroud)
bra*_*zzi 23
问题是你的表单没有名称,只有id,而且它是login_form.您可以使用谓词:
br.select_form(predicate=lambda f: f.attrs.get('id', None) == 'login_form')
Run Code Online (Sandbox Code Playgroud)
(如果f.attrs有密钥则在哪里id ,如果是,则id值等于login_form).或者,您可以传递页面中的表单编号,如果您知道它是第一个,第二个等等.例如,下面的行选择第一个表单:
br.select_form(nr=0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6973 次 |
| 最近记录: |