Python mechanize无法识别表单

2024-05-14 07:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在this page登录。在

br = mechanize.Browser(factory=mechanize.RobustFactory())
br.set_cookiejar(cj)

current_page = br.open(LOGIN_URL)
soup = BeautifulSoup(current_page.get_data())
current_page.set_data(soup.prettify())
br.set_response(current_page)

 print soup.findAll('form')

 assert br.viewing_html()

 for f in br.forms():
     print f.name

但它并没有为表格打印任何内容,尽管beauthulsoup正在完美地找到表格。有人有什么想法吗?在


Tags: brbrowserdatafactorypagecurrentthis表格
1条回答
网友
1楼 · 发布于 2024-05-14 07:54:49

类似这样的方法会起作用:

    from bs4 import BeautifulSoup

    import mechanize
    import cookielib

    br = mechanize.Browser()

    cj = cookielib.LWPCookieJar()

    br.set_cookiejar(cj)

    host = 'https://order.papajohns.com/secure/signin/frame.html?destination=http%3a%2f%2forder.papajohns.com%2findex.html%3fsite%3dWEB%26dclid%3d%2525n-2543611-4121096-71899047-246709315-0%26esvt%3d336192-GOUSe339376223%26esvq%3dpapa%2520johns%26esvadt%3d999999-0-3934985-1%26esvcrea%3d41751468573%26esvplace%26esvd%3dc%26esvaid%3d30536%26gclid%3dCI2psOHqtbwCFRPxOgodr0gAAg'

    br.addheaders = [('User-agent', 'Firefox')]
    br.open(host)
    br.form = list(br.forms())[0]
    br.form['userName'] = username
    br.form['pwd'] = password
    submit = br.submit()
    code = response.read()
    soup = BeautifulSoup(code)

相关问题 更多 >

    热门问题