Python利用splinter实现浏览器自动化操作方法


Posted in Python onMay 11, 2018

利用Splinter开发浏览器自动化操作,编写代码比较简单。

案例一:

from splinter import Browser 
 
with Browser() as browser: 
 # Visit URL 
 url = "http://www.google.com" 
 browser.visit(url) 
 browser.fill('q', 'splinter - python acceptance testing for web applications') 
 # Find and click the 'search' button 
 button = browser.find_by_name('btnG') 
 # Interact with elements 
 button.click() 
 if browser.is_text_present('splinter.readthedocs.io'): 
  print("Yes, the official website was found!") 
 else: 
  print("No, it wasn't found... We need to improve our SEO techniques")

第1行 是导入Browser。

Browser是整个测试的基础,你可以把它理解为一个浏览器。

第3行 初始化一个Browser,不加参数的话默认是firefox。

第4行 是命令browser打开"http://google.com"。

第5行 是命令browser使用‘splinter - python acceptance testing for web applications'填充页面中‘name'是‘q'的元素。在Google的首页中,就是那个搜索框。大家可以看一下Google首页的代码。

第6行 是两个命令。第一个是找到‘name'属性为‘btnG'的按钮,第二个是click()也就是点击这个按钮。这个按钮就是Google的搜索按钮。

第8行 是判断页面中是否有‘splinter.cobrateam.info'这个字符串,因为上一步点击了搜索按钮,所以这里搜索的就是跳转之后的页面。当然,大家不用担心网速慢会判断出错,splinter会等页面载入完成再进行下一步的操作。

第13行 是删除browser。

案例二:

这里,我给出自动登录126邮箱的案例。难点是要找到页面的账户、密码、登录的页面元素,这里需要查看126邮箱登录页面的源码,才能找到相关控件的id.

例如:输入密码,密码的文本控件id是pwdInput.可以使用browser.find_by_id()方法定位到密码的文本框,

接着使用fill()方法,填写密码。至于模拟点击按钮,也是要先找到按钮控件的id,然后使用click()方法。

由于代码较简单,我就只在代码中给出注解说明工作原理。

#coding=utf-8 
import time 
from splinter import Browser 
 
def splinter(url): 
 browser = Browser('chrome') 
 #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)

以上这篇Python利用splinter实现浏览器自动化操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现ipsec开权限实例
Nov 11 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
python对url格式解析的方法
May 13 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python 错误和异常代码详解
Jan 29 Python
python GUI实现小球满屏乱跑效果
May 09 Python
使用python实现回文数的四种方法小结
Nov 24 Python
如何给Python代码进行加密
Jan 10 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
Python爬虫信息输入及页面的切换方法
May 11 #Python
对python-3-print重定向输出的几种方法总结
May 11 #Python
利用Python如何实现数据驱动的接口自动化测试
May 11 #Python
Python数据结构之图的应用示例
May 11 #Python
python 重定向获取真实url的方法
May 11 #Python
基于python 爬虫爬到含空格的url的处理方法
May 11 #Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 #Python
You might like
PHP源码之explode使用说明
2011/08/05 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
再谈PHP中单双引号的区别详解
2016/06/12 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
Node 代理访问的实现
2019/09/19 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
Python AES加密模块用法分析
2017/05/22 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
python实现飞机大战微信小游戏
2020/03/21 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
正规的求职信范文分享
2013/12/11 职场文书
企业为何需要商业计划书
2013/12/26 职场文书
网页美工求职信范文
2014/04/17 职场文书
导游词怎么写
2015/02/04 职场文书
教师师德表现自我评价
2015/03/05 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书