• Python实现浏览器自动化操作


    Python实现浏览器自动化操作

      (2012-08-02 17:35:43)
     
      最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是支持IE,而且项目也较久没有更新了。还有就是利用selenium,可支持多种浏览器。网上资料比较多。经过比较,我选择了Splinter模块,因为利用Splinter开发浏览器自动化操作,编写代码比较简单。
    一、Splinter的安装
    Splinter的使用必修依靠Cython、lxml、selenium这三个软件。所以,安装前请提前安装
    Cython、lxml、selenium。以下给出链接地址:
    1)http://download.csdn.net/detail/feisan/4301293
    2)http://code.google.com/p/pythonxy/wiki/AdditionalPlugins#Installation_no
    3)http://pypi.python.org/pypi/selenium/2.25.0#downloads
    4)http://splinter.cobrateam.info/

    二、Splinter的使用
      这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.
      例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框,
    接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。
    由于代码较简单,我就只在代码中给出注解说明工作原理。
    (测试环境win7+python2.7.3+firefox)

    1)登录截图
    Python实现浏览器自动化操作

    2)代码
    ----------------------------------------
    #coding=utf-8
    import time
    from splinter import Browser

    def splinter(url):
        browser = Browser()
        #login 126 email websize
        browser.visit(url)
        #wait web element loading
        time.sleep(5)
        #fill in account and password
        browser.find_by_id('idInput').fill('xxxxxx')
        browser.find_by_id('pwdInput').fill('xxxxx')
        #click the button of login
        browser.find_by_id('loginBtn').click()
        time.sleep(8)
        #close the window of brower
        browser.quit()

    if __name__ == '__main__':
        websize3 ='http://www.126.com'
        splinter(websize3)
  • 相关阅读:
    visual basic VB.NET实例系列教程第三节(常用循环结构之乘法表与数列)
    visual basic VB.NET实例系列教程第二节(好玩又有趣的龟兔赛跑程序)
    visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)
    对DevSecOps的一点认识
    轻便的一句话反弹shell语句
    ActiveMQ 反序列化漏洞(CVE-2015-5254)复现
    《信息安全风险管理》梗概
    微信服务商分账功能开发(PHP)
    哈夫曼编码—文件的压缩与解压(Java)
    哈夫曼编码—数据压缩与解压(Java)
  • 原文地址:https://www.cnblogs.com/qinxiaoqin/p/7147050.html
Copyright © 2020-2023  润新知