Python控制Firefox方法总结

yipeiwu_com5年前Python基础

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

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

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

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

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

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

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

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

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

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

相关文章

Python的socket模块源码中的一些实现要点分析

BaseServer 和 BaseRequestHandler Python为网络编程提高了更高级的封装。SocketServer.py 提供了不少网络服务的类。它们的设计很优雅。Pyt...

关于Django显示时间你应该知道的一些问题

关于Django显示时间你应该知道的一些问题

UTC与DST UTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8。 DST(夏时制)则是为了充分利用夏天日照长的...

python中 ? : 三元表达式的使用介绍

(1) variable = a if exper else b(2)variable = (exper and [b] or [c])[0](2) variable = exper a...

Python lambda表达式filter、map、reduce函数用法解析

前言 lambda是表达式,用于创建匿名函数,可以和filter、map、reduce配合使用。 本文环境Python3.7。 一、lambda表达式 lambda 只包含一个语句,用...

python scp 批量同步文件的实现方法

该脚本用于将源主机列表路径下的所有文件同步于目标主机的/tmp下面 #!/usr/bin/python # -*- coding:utf-8 -*- import pexpect...