我是靠谱客的博主 坦率豌豆,最近开发中收集的这篇文章主要介绍Selenium3 Python WebDriver API源码探析(2):Selenium包目录结构、模块功能概述,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Selenium
包结构概述
Selenium
包结构如下:
selenium
├─common
└─webdriver
├─android
├─blackberry
├─chrome
├─common
│
├─actions
│
└─html5
├─edge
├─firefox
├─ie
├─opera
├─phantomjs
├─remote
├─safari
├─support
└─webkitgtk
common
包:仅包含exceptions.py
模块,定义了异常类。webdriver
包:核心APIremote
包定义了核心基类,其中webdriver.py
和webelement.py
是API中的关键,定义了浏览器的通用操作方法和元素的处理方法。common
包定义键盘事件、鼠标事件、触屏事件、浏览器参数设置、元素定位、代理等基础行为处理。support
包定义了事件处理、事件触发、UI、超时处理等基类。android
、backberry
、chrome
、edge
、firefox
、ie
、opera
、phantomjs
、safari
、webkitgtk
等子包为对不同浏览器的支持。
Selenium
包、模块结构及功能详细说明
│
__init__.py # 定义__version__属性
│
├─common #一级子包
│
│
exceptions.py # 定义异常类
│
│
__init__.py # 导入异常类
│
├─webdriver # 一级子包,核心API包
│
│
__init__.py # 命名空间整合,定义了各浏览器API的快捷接口
│
│
│
├─android # 二级子包,Android端webview支持
│
│
│
webdriver.py
# 使用WebView创建Selendroid实例
│
│
│
__init__.py
│
│
│
├─blackberry # 二级子包,黑莓手机浏览器支持
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─chrome # 二级子包,Chrome浏览器支持
│
│
│
options.py
│
│
│
remote_connection.py
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─common # 二级子包,定义了键盘事件、鼠标事件、触屏事件、浏览器参数设置、元素定位、代理等基础行为处理
│
│
│
action_chains.py # 定义了底层的自动化交互的方法,如鼠标移动、鼠标按键等
│
│
│
alert.py # 定义了alert弹出的处理方法
│
│
│
by.py # 仅有一个By类作为命名空间,定义了8个类变量,即元素定位策略集合
│
│
│
desired_capabilities.py # 定义和实现了不同浏览器的DesiredCapabilities
│
│
│
keys.py # 仅有一个Keys类作为命名空间,定义了各种功能键的Unicode编码
│
│
│
proxy.py # 定义了各类代理的实现
│
│
│
service.py # 定义了连接、关闭等基础服务
│
│
│
touch_actions.py # 定义了移动设备的一些基础操作
│
│
│
utils.py # 定义了一些的辅助函数
│
│
│
__init__.py
│
│
│
│
│
├─actions # 三级子包,移动端各类actions支持
│
│
│
│
action_builder.py # 定义了移动端动作构建类
│
│
│
│
input_device.py # 描述了输入设备动作的基本操作
│
│
│
│
interaction.py # 定义了交互、暂停的基类
│
│
│
│
key_actions.py # 定义了键盘事件处理
│
│
│
│
key_input.py # 定义了输入事件处理
│
│
│
│
mouse_button.py # 定义了鼠标按钮编码
│
│
│
│
pointer_actions.py # 定义了屏幕点击事件处理
│
│
│
│
pointer_input.py # 定义了屏幕输入事件处理
│
│
│
│
__init__.py
│
│
│
│
│
├─html5 # 三级子包,HTML5支持
│
│
│
│
application_cache.py # 定义了应用缓存的状态编码和缓存状态的获取方法
│
│
│
│
__init__.py
│
│
│
├─edge # 二级子包,edge浏览器支持
│
│
│
options.py
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─firefox # 二级子包,Firefox浏览器支持
│
│
│
extension_connection.py
│
│
│
firefox_binary.py
│
│
│
firefox_profile.py
│
│
│
options.py
│
│
│
remote_connection.py
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
webdriver.xpi
│
│
│
webdriver_prefs.json
│
│
│
webelement.py
│
│
│
__init__.py
│
│
│
│
├─amd64
│
│
│
x_ignore_nofocus.so
│
│
│
│
│
├─x86
│
│
│
x_ignore_nofocus.so
│
│
│
├─ie # 二级子包,IE浏览器支持
│
│
│
options.py
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─opera # 二级子包,Opera浏览器支持
│
│
│
options.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─phantomjs # 二级子包,phantomjs支持,不过phantomjs项目已经废弃了
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─remote # 二级子包,定义了selenium操作的核心基类。
│
│
│
command.py # 定义了各类标准WebDriver命令的常量
│
│
│
errorhandler.py # 定义了WebDriver的错误代码和异常处理
│
│
│
file_detector.py # 定义了文件检测类
│
│
│
getAttribute.js
│
│
│
isDisplayed.js
│
│
│
mobile.py # 定义了移动端的连接和上下文管理
│
│
│
remote_connection.py
│
│
│
switch_to.py # 定义了iframe切换管理
│
│
│
utils.py # 定义了json文件、压缩文件操作函数
│
│
│
webdriver.py # 定义了WebDriver操作类
│
│
│
webelement.py # 定义了元素操作类
│
│
│
__init__.py
│
│
│
├─safari # 二级子包,Safari浏览器支持
│
│
│
permissions.py
│
│
│
remote_connection.py
│
│
│
service.py
│
│
│
webdriver.py
│
│
│
__init__.py
│
│
│
├─support # 二级子包,定义了事件处理、事件触发、UI、超时处理等基类
│
│
│
abstract_event_listener.py # 定义了事件监听器基类
│
│
│
color.py # 定义了颜色转换支持类、方法和常量
│
│
│
events.py # 命名空间整合,导入了AbstractEventListener类和EventFiringWebDriver类
│
│
│
event_firing_webdriver.py # 定义了webdriver和WebElement事件触发类
│
│
│
expected_conditions.py # 定义了浏览器各类操作实现的验证方法
│
│
│
select.py # 定义了select控件的操作方法
│
│
│
ui.py # 命名空间整合,导入Select和WebDriverWait类
│
│
│
wait.py # 定义了webdriver的超时机制
│
│
│
__init__.py
│
│
│
├─webkitgtk # 二级子包,webkitgtk支持
│
options.py
│
service.py
│
webdriver.py
│
__init__.py
最后
以上就是坦率豌豆为你收集整理的Selenium3 Python WebDriver API源码探析(2):Selenium包目录结构、模块功能概述的全部内容,希望文章能够帮你解决Selenium3 Python WebDriver API源码探析(2):Selenium包目录结构、模块功能概述所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复