代码之家  ›  专栏  ›  技术社区  ›  Rami Jarrar

如何设置网页的控件?

  •  0
  • Rami Jarrar  · 技术社区  · 15 年前

    我有一个带https的登录页面,我使用以下方法:

    import ClientForm
    import urllib2
    
    request = urllib2.Request("http://ritaj.birzeit.edu")
    response = urllib2.urlopen(request)
    forms = ClientForms.ParseResponseEx(response)
    response.close()
    
    f = forms[0]
    username = str(raw_input("Username: "))
    password = str(raw_input("Password: "))
    
    ## Here What To Do
    
    request2 = f.click()
    

    我得到那个页面的控件

    >>> f = forms[0]
    >>> [c.name for c in f.controls]
    ['q', 'sitesearch', 'sa', 'domains', 'form:mode', 'form:id', '__confirmed_p', '__refreshing_p', 'return_url', 'time', 'token_id', 'hash', 'username', 'password', 'persistent_p', 'formbutton:ok']
    

    那么我如何设置 用户名 密码 “非窗体”f的控件???? 我还有一个问题,如何知道它的用户名和密码是否正确??

    1 回复  |  直到 15 年前
        1
  •  1
  •   Alex Martelli    15 年前

    你设置 f['username'] = username f['password'] = password 当你 f.click() 您将得到一个您需要检查的响应,以确定这些字符串是否是您访问的站点所期望的字符串——站点如何通信取决于站点,为此,它应该使用HTTP状态,但有些站点在这种方式下非常草率,因此您可能需要刮除它们的响应页。