Selenium:WebDriverApi接口详解
浏览器操作
# 刷新
driver.refresh() # 前进
driver.forward() # 后退
driver.back()
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')
窗口操作
# 获取当前浏览器的大小
driver.get_window_size() # 通过像素设置浏览器的大小
driver.set_window_size('width','height') # 获取当前窗口针对于Windows的位置的坐标x,y
driver.get_window_position() # 设置当前窗口针对Windows的位置,x,y
driver.set_window_position(20,20) # 最大化当前窗口,不需要传参
driver.maximize_window() # 返回当前操作的浏览器句柄
driver.current_window_handle # 返回所有打开server的浏览器句柄
driver.window_handles
截取当前页面
# 获取当前页面的二进制图片数据,需要自己去写入文件
driver.get_screenshot_as_png() # as_png的上层封装,只需要传入图片名称自动写成图片
driver.get_screenshot_as_file('fileName.png')
执行JavaScript语句
# 执行JavaScript语句
driver.execute_script('JavaScript Commond') # 例:
# 通过js来操作滚动条
# 参数1:x 参数2: y
window.scrollTo(100,400);
关闭与退出
# 当开启多个时,关闭当前页面
driver.close() # 退出并关闭所有页面驱动
driver.quit()
其他
# 返回页面源码
driver.page_source # 返回tag标题
driver.title # 返回当前Url
driver.current_url # 获取浏览器名称 如:chrome
driver.name
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()
常见异常
NoSuchElementException:没有找到元素 NoSuchFrameException:没有找到iframe NoSuchWindowException:没找到窗口句柄handle NoSuchAttributeException:属性错误 NoAlertPresentException:没找到alert弹出框 ElmentNotVisibleException:元素不可见 ElementNotSelectableException:元素没有被选中 TimeoutException:查找元素超时
Selenium:WebDriverApi接口详解的更多相关文章
- Selenium学习之==>WebDriverApi接口详解
浏览器操作 driver.back() # 后退 driver.forward() # 前进 driver.refresh() # 刷新 窗口操作 driver.get_window_size() # ...
- selenium之webdriverAPI接口详解
1. 浏览器操作 driver.maximize_window() #最大化窗口driver.execute_script('window.scrollTo(0,0);') #滚动窗口到最上面driv ...
- JDBC常用接口详解
JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...
- Java6.0中Comparable接口与Comparator接口详解
Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...
- socket接口详解
1. socket概述 socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在Unix一切 ...
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十三章:内部类与接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Java接口 详解(二)
上一篇Java接口 详解(一)讲到了接口的基本概念.接口的使用和接口的实际应用(标准定义).我们接着来讲. 一.接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com. ...
- [转载]MII/MDIO接口详解
原文地址:MII/MDIO接口详解作者:心田麦浪 本文主要分析MII/RMII/SMII,以及GMII/RGMII/SGMII接口的信号定义,及相关知识,同时本文也对RJ-45接口进行了总结,分析了在 ...
随机推荐
- mysql-时间格式
SELECT DATE_FORMAT('2019-1-1 15:1:1.099','%Y-%m-%d %H:%i:%s.%f') -- 2019-01-01 15:01:01.099000 %a 缩 ...
- Codeforces Round #535 E2-Array and Segments (Hard version)
Codeforces Round #535 E2-Array and Segments (Hard version) 题意: 给你一个数列和一些区间,让你选择一些区间(选择的区间中的数都减一), 求最 ...
- beeline链接hive报错
看问题:beeline连接hiveserver2报错.连接串:hive --service beeline -u jdbc:hive2://localhost:10000/hive 错误:Error ...
- elasticsearch 基础 —— Update API
Update API 更新API允许基于提供的脚本更新文档.该操作从索引获取文档(与分片并置),运行脚本(使用可选的脚本语言和参数),并对结果进行索引(也允许删除或忽略操作).它使用版本控制来确保在& ...
- 【记录】spring/springboot 配置mybatis打印sql
======================springboot mybatis 打印sql========================================== 方式 一: ##### ...
- javaScript的预加载
在有大量图片的页面中,为了避免页面加载完图片还未加载完成,我们通常会使用js的图片预加载. 这是一个预加载的demo: 首先把图片放入到一个类名为imgSrcArr的变量当中: var imgSrcA ...
- 固定内网ip的方法
ip最后一位找一个不常用的,比如200之后的,ping不通它就用它. 子网掩码,默认网关保持和原来的一样. DNS要填公司的,网上查的不能用,因为他们是互联网上的.主备:XXXXXX/XX (之前填的 ...
- mysql,分组后,再次进行过滤
查出平均分大于80以上的班级 select class_id, avg(score) from students group by class_id having avg(score)>80; ...
- TLSv网络安全标准,会话加密协议展望未来
本文是关于TLSv1.3采用的三部分系列的第三部分也是最后一部分.它解决了网络加密和监控的选项,包括备用会话加密协议. 通过TLSv1.3的批准,并在IETF出版物队列中,是时候考虑部署选项和障碍,并 ...
- hadoop通过java输出HAFS上的文件内容
package org.apache.hadoop.book;import java.io.InputStream;import java.net.URL;import org.apache.hado ...