简体   繁体   中英

python mechanize new page

I am using python and mechanize to login into a site. I can get it to login, but once I am in I need to have mechanize select a new form and then submit again. I will need to do this 3 or for times to get to the page I need. Once I am logged in how od I slect the form on the 2nd 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

I get the following error.

FormNotFoundError: no form matching name 'frm_page2'

Thanks for the help.

You can't use name=' ' when finding a form because Mechanize already uses 'name' itself.

If you want to find something by name, you need to do:

br.select_form(attrs={'name': 'Login'})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM