Python实现浏览器自动化操作
来源:互联网 发布:linux getpid 头文件 编辑:程序博客网 时间:2024/05/22 00:33
最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用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)
0 0
- Python实现浏览器自动化操作
- Python实现浏览器自动化操作
- Python实现浏览器自动化操作
- Python实现浏览器自动化操作
- Python实现浏览器自动化操作
- Python利用splinter实现浏览器自动化操作
- 8、Selenium + Python 实现 UI 自动化测试-操作浏览器标签
- 9、Selenium + Python 实现 UI 自动化测试-操作浏览器窗口
- 【Python】学习selenium自动化测试:操作浏览器
- selenium+python自动化测试(二)--使用webdriver操作浏览器
- 使用Python实现自动化抓取浏览器内容、提交结果
- python的splinter实现浏览器操作
- Python自动化Excel操作
- 6、Selenium + Python 实现 UI 自动化测试-鼠标操作
- 7、Selenium + Python 实现 UI 自动化测试-键盘操作
- 10、Selenium + Python 实现 UI 自动化测试-操作输入框
- 12、Selenium + Python 实现 UI 自动化测试-操作下拉列表
- 13、Selenium + Python 实现 UI 自动化测试-操作表格
- 生成Webservice客户端的4中方法
- 判断回文数字
- 小马哥----高仿三星9082刷机 拆机主板图 此机芯片6577 主板标示为S17
- SSD2828调试记录
- *UVA 10859 Placing Lampposts ACM解题报告(dp)
- Python实现浏览器自动化操作
- android打印程序调用堆栈信息
- 将整数m拆分为n个数字的有序拆分方案数为C(m-1,n-1)
- GCD方式创建单例
- navicat快捷键 .
- Android基站定位
- LeetCode83——Remove Duplicates from Sorted List
- OpenCV:从摄像头或AVI文件捕捉视频流并进行边缘检测
- eclipse出现Unable to execute dex: GC overhead limit exceeded