Selenium学习之==>WebDriverApi接口详解
浏览器操作
driver.back() # 后退
driver.forward() # 前进
driver.refresh() # 刷新
窗口操作
driver.get_window_size() # 获取浏览器大小
driver.set_window_size('','') # 设置浏览器大小
driver.maximize_window() # 最大化浏览器
driver.current_window_handle() # 返回当前操作的浏览器句柄
driver.window_handles() # 返回所有打开server的浏览器句柄
截取当前页面(截图)
driver.get_screenshot_as_file('pic.png') # 文件名必须以小写的.png结尾
执行JavaScript语句
driver.execute_script('JavaScript Commond')
driver.execute_script('window.scrollTo(0,0);') # 操作滚动条到浏览器最上面
Cookie操作
# 根据cookieKey,获取cookie信息
cookie = driver.get_cookie('cookieKey') # 获取所有cookie信息
cookies = driver.get_cookies() # 添加cookie,严格按照格式添加,cookie的key为name,value为value
driver.add_cookie({'name': 'tmp', 'value': ''}) # 删除所有cookie信息
driver.delete_all_cookies() # 根据cookieKey删除对应cookie
driver.delete_cookie('UiCode')
浏览器句柄及切换
print(driver.window_handles) # 获取所有打开server的浏览器句柄,返回的是一个list
bl = driver.find_element_by_css_selector('[href="/new-index/"]')
bl.click() # 点击连接打开一个新的页面
print(driver.window_handles) # 再次获取所有打开server的浏览器句柄
handes = driver.window_handles
driver.switch_to.window(handes[1]) # 切换浏览器句柄到新打开的这个页面
cl = driver.find_element_by_css_selector('#newtag')
cl.send_keys('AAAA')
driver.close() # 关闭当前指针指向句柄的页面
driver.switch_to.window(handes[0]) # 手动将浏览器指针切换回之前的页面
driver.find_element_by_css_selector('#i1').send_keys('EEEE')
driver.quit() # 关闭所有页面
关闭与退出
driver.close() # 关闭当前页面,关闭页面后如果指针切换了,必须手动切回来
driver.quit() # 关闭所有页面,退出驱动
ElementApi接口
# 根据标签属性名称,获取属性value
element.get_attribute('style') # 向输入框输入字符串 如果input的type为file类型 可以输入文件绝对路径上传文件
element.send_keys() # 清除文本内容
element.clear() # 鼠标左键点击操作
element.click() # 通过属性名称获取属性
element.get_property('id') # 返回元素是否可见 True or False
element.is_displayed() # 返回元素是否被选中 True or False
element.is_selected() # 返回标签元素的名字
element.tag_name # 获取当前标签的宽和高
element.size # 获取元素的文本内容
element.text # 模仿回车按钮 提交数据
element.submit() # 获取当前元素的坐标
element.location # 截取图片
element.screenshot()
弹框处理
driver.find_element_by_css_selector('#confirm').click() # 点击按钮,弹出弹框
print(driver.switch_to.alert.text) # 打印弹框返回的文本文字
driver.switch_to.alert.accept() # 确认
driver.switch_to.alert.dismiss() # 取消
常见异常
NoSuchElementException:没有找到元素 NoSuchFrameException:没有找到iframe NoSuchWindowException:没找到窗口句柄handle NoSuchAttributeException:属性错误 NoAlertPresentException:没找到alert弹出框 ElmentNotVisibleException:元素不可见 ElementNotSelectableException:元素没有被选中 TimeoutException:查找元素超时
Selenium学习之==>WebDriverApi接口详解的更多相关文章
- Selenium学习之==>ActionChainsApi接口详解
ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的才会元素出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了Ac ...
- Selenium:WebDriverApi接口详解
浏览器操作 # 刷新 driver.refresh() # 前进 driver.forward() # 后退 driver.back() Cookie操作 # 根据cookieKey,获取cookie ...
- selenium之webdriverAPI接口详解
1. 浏览器操作 driver.maximize_window() #最大化窗口driver.execute_script('window.scrollTo(0,0);') #滚动窗口到最上面driv ...
- Asp.Net MVC学习总结之过滤器详解(转载)
来源:http://www.php.cn/csharp-article-359736.html 一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十三章:内部类与接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Activiti工作流学习之流程图应用详解
Activiti工作流学习之流程图应用详解 1.目的 了解Activiti工作流是怎样应用流程图的. 2.环境准备2.1.相关软件及版本 jdk版本:Jdk1.7及以上 IDE:eclipse ...
- [深入学习Web安全](5)详解MySQL注射
[深入学习Web安全](5)详解MySQL注射 0x00 目录 0x00 目录 0x01 MySQL注射的简单介绍 0x02 对于information_schema库的研究 0x03 注射第一步—— ...
- JDBC常用接口详解
JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...
随机推荐
- IMAPd - Internet 邮件存取协议服务器
总览 /usr/etc/imapd 描述 imapd 是个支持 IMAP4rev1 远程邮件存取协议(由RFC2060定义)的服务器. imapd 是由internet服务器(参见 inetd(8)) ...
- vim 添加显示和行号
方法一: 1.显示当前行行号,在VI的命令模式下输入 :nu 2.显示所有行号,在VI的命令模式下输入 :set nu :set nonu 关闭 方法二: 使用vi编辑~/.vimrc文件,在该文件中 ...
- System.Windows.Forms.Application.DoEvents();
关于Application.DoEvents()的小研究 在MSDN中的备注是: 当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件.该窗体在每次处理事件时,均将处理与该事件关联的 ...
- Awkward Response AtCoder - 2656 ( 二分+交互题)
Problem Statement This is an interactive task. Snuke has a favorite positive integer, N. You can ask ...
- Java线程与Linux内核线程的映射关系(转)
Java线程与Linux内核线程的映射关系 Java线程与Linux内核线程的映射关系Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程 ...
- Vue-Router的简单使用
Vue-Router的最简单使用 1.先注册路由 2.将路由注册到VM组件中 3.定义组件 4.页面定义跳转路径 <!DOCTYPE html> <html> <head ...
- python-魔法属性和反射
python魔法属性和反射 #!/usr/bin/python3 # coding:utf-8 # Auther:AlphaPanda # Description:与类相关的魔法属性 # Versio ...
- underscore的使用
1.链接 npm underscore:https://www.npmjs.com/package/underscore 官网:https://underscorejs.org/ 2.npm安装:np ...
- Devexpress 10
序言 Grid表格 资料 https://www.devexpresscn.com/
- 苹果cms模板文件不存在:public/jump.html
1,模板文件不存在很显然就是模板缺少文件导致,缺少什么文件一般都会提示.(如上图)点击首页的时,有的能进入播放页 有的提示(上图) 模版文件不存在:public/jump.html 通过查询苹果cm ...