zoukankan      html  css  js  c++  java
  • 还没被玩坏的robobrowser(7)——表单操作

    背景

    有一些站点是需要登录之后才能抓取内容的,另外做web测试的时候登录是家常便饭。

    这一节里我们就以登陆testerhome为例,讲解一下robobrowser中form的操作。

    预备知识

    • get_form方法用来抓取form;
    • submit_form方法用来提交表单;
    • form[name].value=方法用来给文本框赋值,也就是说往文本框里写内容;

    代码

    #coding: utf-8
    import re
    from robobrowser import RoboBrowser
    
    url = 'http://testerhome.com/account/sign_in/'
    b = RoboBrowser(history=True)
    b.open(url)
    
    # 获取登陆表单
    login_form = b.get_form(action='/account/sign_in')
    print login_form
    
    # 输入用户名和密码
    login_form['user[login]'].value = 'your account'
    login_form['user[password]'].value = 'your password'
    
    # 提交表单
    b.submit_form(login_form)
    
    # 打印登陆成功的信息
    print b.select('.alert.alert-success')[0].text
    
    

    文本版权归乙醇所有,欢迎转载,但请标明出处。

    下一节: 完结篇:阅读robobrowser的源码

  • 相关阅读:
    HDU 3068 Manacher
    HDU 6188最小费用流
    Codeforces Round #442 (Div. 2) Danil and a Part-time Job
    并查集
    HDU 5988最小网络流(浮点数)
    HOJ
    HOJ
    POJ
    POJ
    关于async
  • 原文地址:https://www.cnblogs.com/nbkhic/p/4216149.html
Copyright © 2011-2022 走看看