Python控制Firefox方法总结

有时候为了自动化测试网页,我们往往希望能够使用一些脚本语言控制浏览器. 通过脚本模拟一些浏览器动作,然后测试得到的结果.这里, 我们讲解一下如何使用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文档来了解更高级的使用.

(0)

相关推荐

  • python selenium firefox使用详解

    演示的版本信息如下: Python 3.6.0 Selenium 3.5.0 Firefox 55.0.3 geckodriver v1.0.18.0 win64 1.前提准备 1.1 安装python https://www.jb51.net/article/144750.htm 1.2 安装Firefox浏览器 1.3下载geckodriver(是Firefox的官方webdriver) 2.Python安装selenium python 3.0X包自带pip和setuptools.我们可以

  • 解决python selenium3启动不了firefox的问题

    selenium3.0之后的版本的就不支持直接打开火狐浏览器,启动火狐浏览器报错,如下图,要想运行就需要我们单独装上驱动. 3.0之前的版本,是可以直接打开火狐浏览器的. 解决办法: 1.首先下载最新版的火狐浏览器 2.下载合适的驱动,对应自己系统,下载地址https://github.com/mozilla/geckodriver/releases,解压文件把下载的驱动文件放在自己的驱动目录下边,我放在单独一个d盘的D:\driver目录下. 重新运行脚本即可. 以上这篇解决python se

  • Python控制Firefox方法总结

    有时候为了自动化测试网页,我们往往希望能够使用一些脚本语言控制浏览器. 通过脚本模拟一些浏览器动作,然后测试得到的结果.这里, 我们讲解一下如何使用Python语言控制Firefox浏览器. 使用 -marionette 参数启动 Firefox. 比较简单的一种做法就是右键单击Firefox的桌面图标, 然后选择属性, 最后在命令一栏最后添加 <空格> -marionette. 为 Python 安装 marionette_client 库. 命令为: pip install marione

  • python输出小数精度控制的方法

    目录 一.要求较小的精度 1.round()内置方法 2. 使用格式化 二.要求超过17位的精度分析 1. 使用格式化(不推荐) 2. 高精度使用decimal模块,配合getcontext 三.关于小数和取整 1. round() 2. math模块的ceil(x) 3. math模块的floor(x) 一.要求较小的精度 将精度高的浮点数转换成精度低的浮点数. 1.round()内置方法 round()不是简单的四舍五入的处理方式. >>> round(2.5) 2 >>

  • python控制台中实现进度条功能

    我们大多数人都希望写一些简单的python脚本的同时都想能够在程序运行的过程中实现进度条的功能以便查看程序运行的速度或者进度.今天就和大家探讨这个问题:如何在python控制台中实现进度条功 进度条最主要的问题就是所有字符全部在同一行,而且可以修改. 然而当执行print语句的时候,python会在打印完这个语句的同时在结尾加上'\n',也就是换行,这就导致在控制台下一旦被print之后就无法再修改了.所以我们现在的输出就不能再使用print来完成了. 我们要使用的是来自sys库的sys.std

  • 使用Python控制摄像头拍照并发邮件

    o1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样我就可以看到是谁开启了我的电脑啦. 然后,突(nao)发(dong)奇(da)想(kai)的我又想到万一我电脑不在身边怎么办?要不再加个邮件发送机制吧,开机拍到照片再邮件发送给我?哈哈 02 工具 •deepin 15.9 •好看好用的国产linux系统 •python 2.7或者3.6 •解释器,

  • Python常用特殊方法实例总结

    本文实例讲述了Python常用特殊方法.分享给大家供大家参考,具体如下: 1 __init__和__new__ __init__方法用来初始化类实例:__new__方法用来创建类实例. 主要的区别: 1).__init__通常用于初始化一个新实例,控制初始化的过程,发生在类实例被创建完以后.它是实例级别的方法. 2).__new__通常用于控制生成一个新实例的过程.它是类级别的方法. __new__具体的作用: 1) 继承一些不可变的class时(比如int, str, tuple),提供一个自

  • python获取网络图片方法及整理过程详解

    这篇文章主要介绍了python获取网络图片方法及整理过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方式1 使用urllib库 import urllib.request import os ,stat url = "https://cn.bing.com/th?id=OHR.Lidong2019_ZH-CN0761273672_1920x1080.jpg" try: urllib.request.urlretrieve(ur

  • python ubplot使用方法解析

    这篇文章主要介绍了python ubplot使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 matlab中subplot()的作用,就是在同一画面中创建和控制多个图形位置. 一般使用格式:subplot(m,n,p) m--行数,即在同一画面创建m行个图形位置. n--列数,即在同一画面创建n列个图形位置. p--位数,在同一画面的m行,n列的图形位置. 下面以具体的实例,来说明subplot()的含义. x1=0:0.02:10;

  • 利用python控制Autocad:pyautocad方式

    发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad包可以用任何版本的cad进行操作,实际上接口都是一样的.文档中首先给出连接cad的代码: from pyautocad import Autocad, APoint acad = Autocad(create_if_not_exists=True) acad.prompt("Hello, Autoc

  • C语言调用Python代码的方法

    问题 你想在C中安全的执行某个Python调用并返回结果给C. 例如,你想在C语言中使用某个Python函数作为一个回调. 解决方案 在C语言中调用Python非常简单,不过涉及到一些小窍门. 下面的C代码告诉你怎样安全的调用: #include <Python.h> /* Execute func(x,y) in the Python interpreter. The arguments and return result of the function must be Python flo

  • python 6种方法实现单例模式

    单例模式是一个软件的设计模式,为了保证一个类,无论调用多少次产生的实例对象,都是指向同一个内存地址,仅仅只有一个实例(只有一个对象). 实现单例模式的手段有很多种,但总的原则是保证一个类只要实例化一个对象,下一次再实例的时候就直接返回这个对象,不再做实例化的操作.所以这里面的关键一点就是,如何判断这个类是否实例化过一个对象. 这里介绍两类方式: 一类是通过模块导入的方式: 一类是通过魔法方法判断的方式: # 基本原理: - 第一类通过模块导入的方式,借用了模块导入时的底层原理实现. - 当一个模

随机推荐