Python控制Firefox方法总结


Posted in Python onJune 03, 2019

有时候为了自动化测试网页,我们往往希望能够使用一些脚本语言控制浏览器. 通过脚本模拟一些浏览器动作,然后测试得到的结果.这里, 我们讲解一下如何使用Python语言控制Firefox浏览器.

使用 -marionette 参数启动 Firefox. 比较简单的一种做法就是右键单击Firefox的桌面图标, 然后选择属性, 最后在命令一栏最后添加 <空格> -marionette.

Python控制Firefox方法总结

为 Python 安装 marionette_client 库. 命令为: pip install marionette_client如果有必要, 可以使用virtualenv隔离环境.为 Python 安装 marionette_client 库. 命令为: pip install marionette_client如果有必要, 可以使用virtualenv隔离环境.

用Python连接Firefox. 你可以使用交互命令行, 或者是写在py文件里.

首先导入刚刚安装的库: from marionette import Marionette

然后使用下图中的代码连接 Firefox

Python控制Firefox方法总结

控制Firefox浏览网页使用如下代码.

Python控制Firefox方法总结

获取页面中的DOM节点, 使用 find_element 或 find_elements 方法

Python控制Firefox方法总结

得到的DOM元素上有一些方法可以操作这个DOM元素, 比如click().

Python控制Firefox方法总结

marionette 对Firefox的控制相当全面, 你几乎可以做任何你想做的事, 丝毫不逊色于页面中的 javascript. 你可以查看API文档来了解更高级的使用.

Python控制Firefox方法总结

Python 相关文章推荐
python获取当前运行函数名称的方法实例代码
Apr 06 Python
使用Python对Csv文件操作实例代码
May 12 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
python实现大转盘抽奖效果
Jan 22 Python
Python生成器的使用方法和示例代码
Mar 04 Python
Python使用sax模块解析XML文件示例
Apr 04 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
Dec 22 Python
python中tab键是什么意思
Jun 18 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 #Python
selenium+python自动化测试环境搭建步骤
Jun 03 #Python
python+selenium实现自动化百度搜索关键词
Jun 03 #Python
用Q-learning算法实现自动走迷宫机器人的方法示例
Jun 03 #Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 #Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 #Python
Python3实现定时任务的四种方式
Jun 03 #Python
You might like
PHP explode()函数用法、切分字符串
2012/10/03 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Angular通过指令动态添加组件问题
2018/07/09 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python用GET方法上传文件
2015/03/10 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
Python调用Windows命令打印文件
2020/02/07 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
python实现图像全景拼接
2020/03/27 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
区分python中的进程与线程
2020/08/13 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
求职简历自荐信
2013/10/20 职场文书
班主任工作年限证明
2014/01/12 职场文书
施工安全责任书
2014/04/14 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
销售员自我评价
2015/03/11 职场文书
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js