目录说明:
selenium/common     #定义了webdriver的异常类
selenium/webdriver   #定义了webdriver所有python实现:
1.各种浏览器支持
2.各种UI操作方法
3.异常处理
4.定位方法
等等
以下为浏览器支持模块:
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对外导出能力:当目录中包含了 __init__.py 时,当用 import 导入该目录时,会执行 __init__.py 里面的代码
就是说,当我 import webdriver 时会执行__init.py__下的代码
selenium/webdriver/__init__.py
 
\selenium\webdriver\common目录:
action_chains.py
提供了系列底层的自动化交互的方法,主要包括:鼠标移动、鼠标按键动作、按键和上下文菜单交互、鼠标拖曳等等
分类
函数名
描述
鼠标操作
def click(self, on_element=None)
鼠标左键单击
鼠标操作
def click_and_hold(self, on_element=None)
鼠标左键按键,不释放
鼠标操作
def context_click(self, on_element=None)
鼠标右击
鼠标操作
def double_click(self, on_element=None)
鼠标左键双击
鼠标操作
def drag_and_drop(self, source, target)
鼠标拖曳动作,将指定元素位置拖曳到目标元素位置,来移动元素
鼠标操作
def drag_and_drop_by_offset(self, source, xoffset, yoffset)
鼠标拖曳动作,将指定元素按沿x、y方向拖曳指定距离来移动元素
鼠标操作
def move_by_offset(self, xoffset, yoffset)
将鼠标光标沿x、y方向移动指定距离,来实现鼠标的移动
鼠标操作
def move_to_element(self, to_element)
将鼠标光标移动到指定的元素上
鼠标操作
def move_to_element_with_offset(self, to_element, xoffset, yoffset)
将鼠标光标移动到指定的元素相对元素左上角位置偏移(xoffset、yoffset)的位置
鼠标操作
def release(self, on_element=None)
释放鼠标,与click_and_hold函数配对使用
键盘操作
def key_down(self, value, element=None)
按下指定的键盘按键
键盘操作
def key_up(self, value, element=None)
释放已按下的键盘按键(与key_down配套使用)
键盘操作
def send_keys(self, *keys_to_send)
键盘输入
键盘操作
def send_keys_to_element(self, element, *keys_to_send)
给指定元素(可输入元素)进行键盘输入
其他
def perform(self)
执行所有存储的动作
其他
def reset_actions(self)
清空所有存储的动作
其他
def pause(self, seconds)
在指定的时间内暂定所有的输入
 
alert.py
定义和实现了alert弹出的处理方法
by.py
定义了常用的定位方式,例如id、name、xpath等
desired_capabilities.py
定义和实现了不同浏览器的DesiredCapabilities,例如ie、firefox、edge、chrome等等
keys.py
定义了各键盘各功能键的code,例如F1、F2、shift等等这类的按键的code
proxy.py
定义和实现了代理,主要有http代理、ftp代理、ssl代理、sock代理等等
service.py
定义和实现连接、关闭等基础服务
touch_actions.py
定义和实现移动设备的一些基本操作,例如点击、双击、按住等等
utils.py
实现了一些辅助性质的能力
 
\selenium\webdriver\common\actions目录
 
action_builder.py
实现了移动端动作的构建能力
input_device.py
描述用于可操作的输入设备
interaction.py
定义了交互封装
key_actions.py
定义和实现移动端键盘动作行为
key_input.py
定义和实现移动端键盘动作的创建等能力
mouse_button.py
定义了鼠标按键的标识
pointer_actions.py
定义和实现屏幕点击等动作
pointer_input.py
定义和实现屏幕点击等基础能力
 
\selenium\webdriver\remote目录:
 
__init__.py        
导入remote模块时调用这个方法
 
command.py      
定义了webdriver标准的命令常量,这些常量本身是没有意义的,但其标识了webdriver远程通信协议(webdriver's remote wire protocols)
 
errorhandler.py  
定义和实现了webdriver错误编码和错误处理类
 
file_detector.py   
定义和实现了文件侦测类
 
mobile.py            
定义和现实了移动端的连接和context指令机制
 
remote_connection.py   
扩展了url_request.Request实现,和webdriver remote server通信交互就这个模块实现了,有兴趣的可以深入研究
 
switch_to.py       
定义和实现了切换至alert、window、frame、active等系列动作
 
utils.py                
定义和实现了一些辅助功能,例如格式化为json、加载json,压缩文件等等
 
webdriver.py       
这是应用核心了,我们日常自动化测试调用的方法大都来源这个模块,必须掌握该模块提供的方法,该模块提供的方法有:浏览器操作类(例如cookie管理、刷refresh),元素定位类(以find_element_ 开头的各种定位函数)等等,这里就不一一列举,后续针对webdriver常用的方法,提供一个清单出来以供参考。
 
webelement.py     
web元素操作类,定义了web元素操作的各种方法,必须掌握
 
 
\selenium\webdriver\support目录:
 
__init__.py              
导入remote模块时调用这个方法
 
abstract_event_listener.py            
事件监听器基类,定义了各种事件监听基础方法,该模块为做实现
 
color.py                    
 定义和现实颜色转换支持类、方法和常量
 
event_firing_webdriver.py             
定义和实现webdriver和WebElement事件触发类
 
events.py                   
统一对外导出AbstractEventListener和EventFiringWebDriver
 
expected_conditions.py                
针对页面title、元素操作/文本/可见等、窗口打开等定义和实现了一系列的断言验证方法
 
select.py                  
定义和实现了对select标准下拉框元素的系列操作方法
 
ui.py                         
统一对外导出了Select和WebDriverWait
 
wait.py                     
定义和实现了设置webdriver超时机制
 
 
\selenium\common\ exceptions.py异常模块
异常类:
异常
描述
WebDriverException
基本webdriver异常
ErrorInResponseException
当服务器端发生错误时抛出
InvalidSwitchToTargetException
切换的窗口或frame不存在时抛出该异常
NoSuchFrameException
切换的frame不存在时抛出该异常
NoSuchWindowException
切换的窗口不存在时抛出该异常
NoSuchElementException
未找到元素时抛出该异常
NoSuchAttributeException
未找到元素的指定属性时抛出该异常
StaleElementReferenceException
引用一个不存在的元素时抛出该异常
InvalidElementStateException
当元素状态无效时导致webdriver指令无法完成时,抛出该异常
UnexpectedAlertPresentException
当alert弹出导致webdriver指令阻塞时抛出该异常
NoAlertPresentException
当切换至一个不存在的alert弹窗时抛出该异常
ElementNotVisibleException
当操作不可见元素时抛出该异常
ElementNotInteractableException
当一个元素出现在DOM中但是发生交互时抛出
ElementNotSelectableException
试图选择不可选的元素时抛出
InvalidCookieDomainException
试图在与当前URL不同的域下添加cookie时抛出。
UnableToSetCookieException
设置cookie失败时抛出该异常
RemoteDriverServerException
远程webdriver服务异常时抛出该异常
TimeoutException
webdirver指令超时时抛出该异常
MoveTargetOutOfBoundsException
当目标提供给“ActionsChains”move()时抛出
UnexpectedTagNameException
使用tag name定位失败时抛出该异常
InvalidSelectorException
当使用了无效的定位选择器时抛出该异常
ImeNotAvailableException
当IME支持不可用时抛出。
ImeActivationFailedException
启动IME引擎失败时抛出。
InvalidArgumentException
传递给命令的参数不是无效就是格式错误。
JavascriptException
执行js异常时抛出该异常
NoSuchCookieException
获取不存在的cookie时抛出该异常
ScreenshotException
截屏异常
ElementClickInterceptedException
单击元素交互异常时抛出该异常
InsecureCertificateException
SSL证书异常时抛出该异常
InvalidCoordinatesException
提供给交互操作的坐标无效。
InvalidSessionIdException
webdriver session(会话)异常时(例如会话无效),抛出该异常
SessionNotCreatedException
无法创建新的webdriver会话时抛出该异常
UnknownMethodException
未知方法异常
 
 
 
 
 
                             ——本文为整理网上资源,部分补充
 
 
 
 
 
 
 
 
 
 

Selenium模块/目录说明的更多相关文章

  1. selenium模块基础用法详解

    目录 selenium模块 官方文档 介绍 安装 有界面浏览器 无界浏览器 selenium+谷歌浏览器headless模式 基本使用 选择器 基本用法 xpath 获取标签属性 等待元素被加载 隐式 ...

  2. 爬虫(五)—— selenium模块启动浏览器自动化测试

    目录 selenium模块 一.selenium介绍 二.环境搭建 三.使用selenium模块 1.使用chrome并设置为无GUI模式 2.使用chrome有GUI模式 3.查找元素 4.获取标签 ...

  3. 爬虫基础(三)-----selenium模块应用程序

    摆脱穷人思维 <三> :  培养"目标导向"的思维:  好项目永远比钱少,只要目标正确,钱总有办法解决. 一 selenium模块 什么是selenium?seleni ...

  4. 爬虫之selenium模块

    Selenium 简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟 ...

  5. 使用Selenium模块报错的解决办法 (FileNotFound,WebDriverException)

    添加Chrome浏览器程序的目录到系统Path变量中: C:\Users\%USERNAME%\AppData\Local\Google\Chrome\Application ,使用pip3 inst ...

  6. Python爬虫——selenium模块

    selenium模块介绍 selenium最初是一个测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览 ...

  7. python 全栈开发,Day136(爬虫系列之第3章-Selenium模块)

    一.Selenium 简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全 ...

  8. 三: 爬虫之selenium模块

    一 selenium模块 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. selenium最初是一个自动化测试工具, ...

  9. 7 selenium 模块

    selenium 模块 一.简介 1.Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. 2.自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接 ...

随机推荐

  1. cf1294E

    题意简述:给一个矩阵,有两种操作可以进行 操作1:改变矩阵中一个元素的值 操作2:将矩阵中某一列的值循环下移 要求用最少的操作次数使得矩阵变成 题解:对于一列来说,我们肯定是先变化然后再循环下移,所以 ...

  2. Python 中使用 Pillow 处理图片增加水印

    这个是个比较常见的需求,比如你在某个网站上发布了图片,在图片上就会出现带你昵称的水印.那么在Python中应该如何处理这一类需求呢? 其实在我的<Django实战开发>视频教程中有讲到这一 ...

  3. 【WPF学习】第十八章 多点触控输入

    多点触控(multi-touch)是通过触摸屏幕与应用程序进行交互的一种方式.多点触控输入和更传统的基于笔(pen-based)的输入的区别是多点触控识别手势(gesture)——用户可移动多根手指以 ...

  4. EF--EntityState相互转换

    EF对数据做什么样的操作,是根据EF的上下文实体状态决定,实体状态有以下5种状态,下面我们就分别看下这5种状态 数据准备,我们看到学生表里有20000名学生记录,最后1位学生的学生编号为0000020 ...

  5. 10.python内置模块之os模块

    os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件). os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址)). 小生总结了一些平时常用到的属 ...

  6. Anaconda 包管理与环境管理

    包管理命令 conda命令 安装包 conda install 包名称 卸载包 conda remove 包名称 更新包 conda update 包名称 模糊查询 conda search 包名称 ...

  7. IP后面带/30 /29 /27等是什么意思?

    那个代表你网络的位数,也就是能判断子网掩码.比如30 说明就是11111111.11111111.11111111.11111100 (30个1,2个0)然后转换成十进制就是255.255.255.2 ...

  8. 打印机打印pdf文件特别慢怎么解决

    PDF等文件中都包含了一些或者很多光栅化数据(图片.嵌入的字体等).这些文件在打印时,打印机驱动程序都会在系统中生成大量EMF文件(增强型变换文件),小到1MB,大到500MB,过大的EMF临时文件会 ...

  9. SqlServer 常用语句方法

    批量生成删表语句 select 'drop table '+b.name+'.'+a.name+';' from sys.tables a left join sys.schemas b on a.s ...

  10. 学习linux/unix编程方法的建议,学习Linux的四个步骤(转)

    解答:学习Linux的四个步骤假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过我想大概可以分为4个阶段,水平从低到高从安装使用=>linux ...