我正在开发一个需要在 python 中使用 Mechanize 登录的项目。
它无法通过其名称访问表单中的登录名。我对 HTML 不太熟悉,但它似乎与引用登录输入字段的标签有关。
对于那些不熟悉机械化的人,你几乎可以忽略它。只要知道,br.form['xzy'] = '123'
无论当前选择何种形式,都会将名称为“xyz”的字段设置为“123”。所以简而言之,问题是找到用户名输入字段的正确名称或解决方法。
这就是 python 机械化代码的样子......
br.select_form(nr=0)
br.form['username'] = 'dave'
br.form['password'] = 'cats123'
session = br.submit()
这就是我正在处理的页面的 HTML 中输入的样子......
<label for="username" class="fl-label"><span class="accesskey">A</span>ccount:</label>
<input id="username" name="username" class="required" tabindex="1" accesskey="n" type="text" value="" size="32" autocomplete="false"/>
这是我遇到的错误...
File "vcl.py", line 12, in maristLogin
br.form['username'] = 'steh'
mechanize._form.ControlNotFoundError: no control matching name 'username'