> 这是Selenium3.X源码分析系列第4篇
本文主要对Selenium3.X Python3端源码的webdriver核心的通用部分代码common目录进行分析说明,先看下common目录下的目录文件结构:
common的完整路径为:selenium-webdriver-common,主要定义实现了webdriver的一些通用能力,例如键盘鼠标动作链、行为控制、alert处理、html5支持、移动端触摸动作链等等,下面对common目录下文件功能进行简要说:
- actions目录:定义实现键盘、鼠标、设备交互等能力
- html5目录,定义实现了html5的支持,当前这块还不是很完善,了解即可
- action_chains.py 定义实现了动作链能力
- alert.py 定义实现了alert标准弹框处理能力
- by.py 定义了selenium webdriver所支持的定位类型
- desired_capabilities.py 定义实现了desired_capabilities配置能力
- keys.py 定义了selenium webdriver所支持的键盘能力
- proxy.py 定义实现了selenium webdriver代理能力
- service.py 定义实现了selenium webdriver服务能力
- touch_actions.py 定义实现了移动设备的触摸动作行为链能力
- utils.py 实现了一些通用的功能
下面我们随便看看几个模块的细节代码,后续再来几篇文结合实际实例深入看源码,先看个简单的。
先看下alert.py源码实现,其主要用于处理标准的js弹窗,什么是就是弹窗? 去搜索下罗。
我们看看accept函数的具体代码:
源码说明:
先判断通过self.driver.w3c来判断浏览器是否为w3c兼容浏览器,如则是执行w3c兼容的指令,否则执行非w3c兼容的指令。
问:什么是w3c?
答:W3C为解决 Web 应用中不同平台、技术和开发者带来的不兼容问题,保障 Web 信息的顺利和完整流通,万维网联盟制定了一系列标准并督促 Web 应用开发者和内容提供者遵循这些标准。标准的内容包括使用语言的规范,开发中使用的导则和解释引擎的行为等等。
所以w3c标准是涉及了web规范标准,不符合w3c标准的,别人可以不认识!!!
了解w3c标准是每一个IT技术从业者必备的基础知识。