专栏首页开源优测Selenium3源码之初识篇

Selenium3源码之初识篇

Selenium3源码之初识篇

前提

本系列是对Selenium3的Python3版本的源码进行解读分析,所以你应该需要以下准备:

安装Python3,请自行去下载安装或参照公众号(开源优测)中Python3系列中的文章学习怎么安装Python3

使用以下命令安装最新的Selenium3

pip install selenium -U

安装结果如下图:

selenium安装成功后你可以在Python的安装目录的lib/site-packages/selenium下找到对应的源码

认识下目录

我们通过下面这张图了解下Selenium3的Python3版本源码目录结构:

目录说明:

selenium/common 定义了webdriver的异常类

selenium/webdrver 定义了webdriver所有Python实现,包含:

  1. 各种浏览器支持
  2. 各种UI操作方法
  3. 异常处理
  4. 定为方法
  5. json wire protocol映射 等等

以下为浏览器支持模块:

selenium/webdriver/android android原生浏览器 selenium/webdriver/chrome 谷歌浏览器 selenium/webdriver/edge 微软edge浏览器 selenium/webdriver/firefox 火狐浏览器 selenium/webdriver/ie 微软ie浏览器 selenium/webdriver/opera opera浏览器 selenium/webdriver/phantomjs phantomjs headless浏览器(运行在内存模式) selenium/webdriver/safari safari浏览器 selenium/webdriver/webkitgtk WebKitGTKDriver浏览器 selenium/webdriver/blackberry blackberry浏览器

以下为核心代码模块:

selenium/webdriver/common webdriver共用功能 selenium/webdriver/remote webdriver核心代码实现 selenium/webdriver/support webdriver辅助功能代码

以下模块为webdriver对外导出能力: selenium/webdriver/init.py 代码如下如图所示:

对外导出了webdriver通用的对象及webdriver版本定义

小结

本文简单介绍了Selenium3 Python3源码的目录结构,后续就各功能块的源码进行分享。

本文分享自微信公众号 - 开源优测(DeepTest),作者:苦叶子

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium3.X源码分析之开始,走上人生巅峰

    早在2017年,写了系列Python Selenium2代码实例系列,,打算针对Selenium3写个系列,从源码分析开始,但不立flag,写到...

    苦叶子
  • python selenium2 架构说明

    selenium技术族谱 ? selenium技术族谱 selenium家族图说明: 1、IDE 主要用来学习和对selenium技术有个初步的了解用,不适...

    苦叶子
  • python selenium2示例 - SSL处理

    前言 随着现在站点对安全的要求越来越高,越来越多的企业网站接入了https,随着https的大规模应用,我们在使用python selenium2进行自动化测试...

    苦叶子
  • Selenium3.X源码分析之开始,走上人生巅峰

    早在2017年,写了系列Python Selenium2代码实例系列,,打算针对Selenium3写个系列,从源码分析开始,但不立flag,写到...

    苦叶子
  • selenium webdriver——设置元素等待

    如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难,

    周小董
  • Selenium Webdriver 3.X源码分析之webdriver.py(一)

    本文主要分享webdriver.py模块中关键组织结构,webdriver.py模块是selenium webdriver最核心的模块,实现了webdriver...

    苦叶子
  • 一日一技:如何在macOS下为Python 3.7安装mysqlclient

    当我们使用 Django 2.2连接 MySQL 时,它默认会需要安装 mysqlclient这个第三方库。但是这个库在 macOS 下直接安装会报错。

    青南
  • LeetCode-ZigZag conversion

    We can notice that it has a pattern. Every zigzag pattern is composed by a list ...

    Dylan Liu
  • 深入理解计算机系统(序章)------谈程序员为什么要懂底层计算机结构

      万丈高楼平地起,计算机系统就像程序员金字塔的地基。理解了计算机系统的构造原理,在写程序的道路上才能越走越远。道理LZ很早就懂了,可是一直没下定决心好好钻研,...

    IT可乐
  • 使用hadoop进行大规模数据的全局排序

    1. Hellow hadoop~~! Hadoop(某人儿子的一只虚拟大象的名字)是一个复杂到极致,又简单到极致的东西。 说它复杂,是因为一个hadoop...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券