导出目录结构_Selenium Webdriver 3.X源码分析之核心目录结构
> 这是Selenium3.X源码分析系列第3篇
在看Selenium 3.X核心目录结构前,我们先看一个基础的Selenium使用实例
请注意上述代码中,匡红的导入部分,为什么可以从selenium模块导入webdriver呢?
下面看下Selenium核心代码部分的目录结构,如下图所示:
通过目录结构,我们知道了from selenium import webdriver是对外导出了webdriver这个package。
而webdriver package下的__init__.py对外导出了各种平台(浏览器)能力的支持。
这样在前面的实例中就有了如下的代码调用调用Chrome浏览器进行测试:
所以结合两者,对于不同的浏览器调用我们可以这样如下进行了:
- 调用Firefox浏览器进行测试,关键代码片段为:
webdriver.Firefox()
- 调用Ie浏览器进行测试,关键代码片段为:
webdriver.Ie()
- 调用Edge浏览器,关键代码片段为:
webdriver.Edge()
其他浏览器类似,只需要调用对应的平台(浏览器,注意需要有对应的驱动支持,参见:Python Selenium Webdriver安装手册 其中的驱动配置章节)即可。
下面我们就webdriver目录下的文件和目录进行基本的说:
- android android浏览器支持
- blackberry blackberry平台支持
- chrome 谷歌浏览器支持
- common webdriver通用能力
- edge 微软最新的edge浏览器支持,一般要windows10及以上平台比较好
- firefox 火狐浏览器支持
- ie 微软ie浏览器支持,注意ie和edge是两个不同的浏览器
- opera opera浏览器支持,可能很多人没见过这个,很出名的
- phantomjs 内存模式可以渲染解析js、css、html,可以快速运行
- remote webdriver核心功能模块
- safari apple下的浏览器支持
- support webdriver一些辅助能力
- webkitgtk 一般不怎么用
- __init__.py 对外导出了webdriver的能力
总结下,这个目录结构应该是必须掌握的,了解了这些目录和文件的作用,你就会发现其实阅读selenium webdriver的源码没那么复杂,一点点来,后续的文章会一点点的深入到具体的代码细节。
扫一扫加我微信,注明:入群,加入微信群
扫一扫关注开源优测公众号,原创文章首发平台
在公众号里回复一下关键字获取对应的系列文章
物联网 | appium | 大数据测试 | RobotFramework | Python |
自动驾驶 | jmeter | selenium | jenkins | 接口测试 |
顺手点点点右下角的
导出目录结构_Selenium Webdriver 3.X源码分析之核心目录结构相关推荐
- live555 源码分析:RTSPServer 组件结构
前面几篇文章分析了 live555 中 RTSP 的处理逻辑,RTSP 处理有关组件的处理逻辑有点复杂,本文就再来梳理一下它们之间的关系. live555 中 RTSP 处理有关组件关系如下图: 事件 ...
- uCOS2源码分析3-RTOS核心代码视频课程-第4季第4部分-朱有鹏-专题视频课程
uCOS2源码分析3-RTOS核心代码视频课程-第4季第4部分-1077人已学习 课程介绍 本课程是<朱有鹏老师单片机完全学习系列课程>第4季第4个课程,本课程我们重点分析 ...
- F2FS源码分析系列文章目录
一.文件系统布局以及元数据结构 总体结构 Superblock区域 Checkpoint区域 Segment Infomation Table区域(SIT) Node Address Table区域( ...
- Nginx源码分析:核心数据结构ngx_cycle_t与内存池概述
nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> 核心数据结构与内存池概述 在Nginx中的核心数据结构就是ngx_cycle_t结构,在初始 ...
- 【嵌入式】Libmodbus源码分析(一)-类型和结构体
00. 目录 文章目录 00. 目录 01. 常见类型声明 02. 常量声明 03. _modbus结构体声明 04. modbus_backend_t结构体声明 05. modbus_mapping ...
- GCC源码分析(十四) — rtx结构体,指令与栈分配
版权声明:本文为CSDN博主「ashimida@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/lidan1 ...
- mysql源码分析——InnoDB的内存结构源码
一.说明 本来是想在前面的一篇分析中把源码和内容同时过一遍,可突然发现,那可能是非常大的一章.所以就把源码独立了出来,在此章节中对相关四类内存数据结构进行分析,在代码分析过程中,可以和前面的说明以及早 ...
- php源码哪些文件是主程序,ThinkPHP源码分析之核心类文件的加载
研究了下TP的加载机制,以下是我的一些总结: 1.首先由应用入口文件index.php引入TP入口文件ThinkPHP.php 2.ThinkPHP.php里主要是定义一些系统常量,URL模式定义,系 ...
- 集合框架源码分析六之堆结构的实现(PriorityQueue)
/** * * 优先队列是用了一种叫做堆的高效的数据结构, * 堆是用二叉树来描述的,对任意元素n,索引从0开始,如果有子节点的话,则左子树为 * 2*n+1,右子树为2*(n+1). * 以堆实现的 ...
最新文章
- 太赞了!机器学习基础核心算法:贝叶斯分类!(附西瓜书案例及代码实现)
- 二值化网络如何训练?这篇ICML 2021论文给你答案
- MutationObserver 监听DOM树变化
- 经典C语言程序100例之六四
- 【Linux系统编程】线程私有数据
- Apache Kylin VS Apache Doris
- c语言实现点在多边形内部,求教这个判断点是否在多边形内的C语言算法用的什么原理....
- 敏捷开发一千零一问系列之十八:长期受制于强势客户怎么办?(下)
- bootstrap 输入错误提示_网上体育用品商城(ssm,mysql,bootstrap,html,css)
- 双层板在哪层覆铜_2020年中国印制电路板行业发展现状及发展趋势预测(图)...
- 【2020年度合辑】人工智能量化实验室原创推送合辑
- Android四大组件之间的交互,Android四大组件每个组件的作用?它们都可以开启多进程吗?...
- python绘图中文_Python绘图实现显示中文
- Mac电脑删除某个分区
- PyTorch笔记 - Dropout: A Simple Way to Prevent Neural Networks from Overfitting
- VMware 15.5.7 的下载与安装
- 图片大大了怎么修改大小KB不改变尺寸
- hibernate学习之四——Query和Criteria接口
- 动态规划--基本思路理念
- freebsd服务器维护,China FreeBSD
热门文章
- mysql最大并行用户设置_mysql 优化配置
- SQL语言之DQL语言学习(八)多表查询/链接查询 SQL92学习
- 大数据实训记录(二)
- 关于 ESP,EBP,EIP
- mysql 创建删除表_mysql创建删除表的实例详解
- Python初学的几个迷惑点
- Python urllib与requests、XML和HTMLParser
- mysql grant 不想让用户看到 系统默认 mysql_MYSQL用户权限管理GRANT使用
- 2020年电大c语言程序设计作业1答案,2019年最新电大C语言程序设计作业答案.doc
- Python flask出现jinja2.exceptions.TemplateNotFound错误(修复host就好了???)