0

我正在使用 python 和 mechanize 登录到一个站点。我可以让它登录,但是一旦我进入,我需要让机械化选择一个新表单,然后再次提交。我需要这样做 3 次或多次才能到达我需要的页面。登录后,我如何在第二个 apge 上选择表单?

import mechanize
import urlparse

br = mechanize.Browser()
br.open("https://test.com")
print(br.title())
br.select_form(name="Login")
br['login_name'] = "test"
br['pwd'] = "test"
br.submit()

new_br = mechanize.Browser()
new_br.open("test2.com")
new_br.select_form(name="frm_page2")  # where the error happens

我收到以下错误。

FormNotFoundError: no form matching name 'frm_page2'

谢谢您的帮助。

4

1 回答 1

0

查找表单时不能使用name=' ',因为 Mechanize 本身已经使用了“名称”。

如果要按名称查找某些内容,则需要执行以下操作:

br.select_form(attrs={'name': 'Login'})
于 2014-11-19T19:55:20.247 回答