webdriver API
切换iframe
1、iframe有id和name
driver.switch_to_frame(loc)
2、iframe无id和name
先用xpath定位找到iframe。再switch
iframe = driver.find_element_by_xpath('//*[@id="loginDiv"]/iframe')
driver.switch_to_frame(iframe)
3、切出iframe
switch_to_default_content()
ActionChains类提供了鼠标操作的常见方法
(from selenium.webdriver.common.action_chains import ActionChains)
- click() 点击对象 eg:browser.find_element_by_id("su").click()
- perform() 执行所有ActionChains中存储的行为
- content_click() 右击
- double_click()双击
- drag_and_drop(source,target) 拖动 source:鼠标拖动的源元素 ;target:鼠标释放的目标元素
- move_to_element() 鼠标悬停
键盘事件Keys()类
(from selenium.webdriver.common.keys import Keys)
- send_keys(*value) 在对象上模拟按键输入 eg:browser.find_element_by_id("kw").send_keys("selenium")
- send_Keys(Keys.BACK_SPACE) 删除键 eg:browser.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
- send_Keys(Keys.SPACE) 空格键 eg:browser.find_element_by_id("kw").send_keys(Keys.SPACE)
- send_Keys(Keys.CONTROL,'a') 全选 eg:browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
- send_Keys(Keys.ENTER) 回车 eg:browser.find_element_by_id("kw").send_keys(Keys.ENTER)
- send_Keys(Keys.TAB) 制表键
- send_Keys(Keys.ESCAPE) 回退键
- send_Keys(Keys.F1) 键盘F1
多表单切换
- driver.switch_to.frame("if") 切换到iframe(id='if') switvh_to.frame()默认可以直接取表单的id或name属性
- switch_to.parent_content() 跳出当前一级表单
- switch_to.default_content() 跳回最外层的页面
窗口切换
- driver.current_window_handle 获得当前搜索窗口句柄
- switch_to.window() 窗口切换
- driver.window_handles 返回所有窗口的句柄到当前会话
警告框
- text 返回alert/confirm/prompt中的文字信息
- accept() 接受现有警告框
- dismiss() 解散现有警告框
- send_Keys(*value) 发送文本到警告框
- driver.switch_to_alert().accept() 接受警告框
Cookie
- get_cookies() 获得所有cookies信息 eg : cookie = driver.get_cookies()
- get_cookie(name) 返回字典的key为“name"的cookie信息
- add_cookie(cookie_dict) 添加cookie,需要字典对象 eg:driver.add_cookie({'name1':'value1','name2':'value2'})
- delete_cookie(name,optionsString) 删除cookie信息。name是要删除的cookie名称,optionString是该cookie的选项
- delete_all_cookies() 删除所有cookie
clear() 清除对象的内容,如果可以的话 eg:browser.find_element_by_id("kw").clear()
browser.get("http://www.baidu.com") 获得浏览器对象后,通过get()方法可以向浏览器发送网站 browser.quit() 退出浏览器
driver.refresh() 刷新当前页面
driver = webdriver.Firefox() 、driver=webdriver.Ie() 、 driver=webdriver.Chrome()
- 注:把webdriver的Firefox对象赋值给变量driver。只有获得了浏览器对象后,才可以启动浏览器。此代码执行前需要Firefox浏览器驱动在selenium webdriver包里了。
- 浏览器句柄(driver)
submit() 方法用户提交表单。例如,在搜索框输入关键字后,回车操作可以通过submit()方法模拟
.size 返回元素的尺寸
.text 获取元素的文本内容
.get_attribute(name)获得属性值
.is_displayed() 返回元素是否用户可见,结果为true or false
driver.current_url 当前页面的URL
driver.title 当前页面title
browser.implicitly_wait(8) #隐式等待
pop()或pop(-1) 获取一组元素中的最后一个
pop(0) 获取一组元素中的第一个
pop(1) 获取一组元素中的第二个
os.system("D:\\abc.exe") 调用abc.exe上传程序
driver.find_element_by_name('file').sendKeys('D:\\abc.txt') 定位上传按钮,添加本地文件
webdriver API的更多相关文章
- 转:python webdriver API 之操作测试对象
一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...
- Webdriver API (二)
(转载) 1.3 打开测试页面 对页面对测试,首先要打开被测试页面的地址(如:http://www.google.com),web driver 提供的get方法可以打开一个页面: // And no ...
- selenium2(WebDriver) API
selenium2(WebDriver) API 作者:Glen.He出处:http://www.cnblogs.com/puresoul/ 1.1 下载selenium2.0的包 官方downl ...
- Selenium2+Python:Webdriver API速记手册
由于web自动化常常需要控制浏览器行为和操作页面元素,相关函数又比较多,于是再此记下一份Webdriver API查阅文档以备不时之需. 参考:虫师<Selenium2自动化测试实战>,和 ...
- webdriver API中文文档
1.1 下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniu ...
- python+selenium自动化软件测试(第2章):WebDriver API
2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...
- Selenium WebDriver Api 知识梳理
之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 # id定位 driver.find_element_by_id() # ...
- 2.28 查看webdriver API
2.28 查看webdriver API(带翻译) 前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就教大家如何去查看seleni ...
- python2.7运行selenium webdriver api报错Unable to find a matching set of capabilities
在火狐浏览器33版本,python2.7运行selenium webdriver api报错:SessionNotCreatedException: Message: Unable to find a ...
- Webdriver API中文版
Webdriver API中文版 1.1 下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGui ...
随机推荐
- this在java中的用法
this在java中的用法 1.使用this关键字引用成员变量 作用:解决成员变量与参数或局部变量命名冲突的问题 public class Dog { String name; public Dog( ...
- JDK1.8 LongAdder 空间换时间: 比AtomicLong还高效的无锁实现
我们知道,AtomicLong的实现方式是内部有个value 变量,当多线程并发自增,自减时,均通过CAS 指令从机器指令级别操作保证并发的原子性. // setup to use Unsafe.co ...
- mysql-8.0.13在windows上的部署
1 .下载mysql-8.0.13-x64 官方网站:https://dev.mysql.com/downloads/mysql/ 2.解压到G盘 3.准备my.ini文件保存到解压目录 [mysql ...
- 学号 20175313 《实验三 敏捷开发与XP实践》实验报告
目录 实验三 敏捷开发与XP实践 一.实验内容 二.实验步骤 四.心得体会 五.码云链接 六.参考资料 实验三 敏捷开发与XP实践 一.实验内容 (1)编码标准 在IDEA中使用工具(Code-> ...
- Freemaker Replace函数的正则表达式运用
replace(param1,param2,param3) param1 正则表达式:param2 将匹配的字符替换成指定字符:param3 模式 param3 参数如下 模式 i r m ...
- 程序设计与算法(一)C语言程序设计CAP之字符串
C++中的字符串 字符串有三种形式 用双引号括起来的字符串常量,如果"CHINA"."C++ program" 存放于字符串数组中,以'\0'字符(ASCII吗 ...
- 使用 js,自己写一个简单的滚动条
当我们给元素加上 overflow: auto; 的时候,就会出现滚动条,然而浏览的不同,滚动条的样式大不一样,有些甚至非常丑. 于是就想着自己写一个滚动条,大概需要弄清楚一下这几个点: 1.滚动条 ...
- Markdown学习示例
Markdown学习示例 什么是Markdown Markdown是一种在web显示带样式风格文本的方式.你能通过它控制文本的字体样式.插入图片.插入列表等.通常,Markdown使用一些特殊的非字母 ...
- django--如何将数据结果集序列化传给前端页面展示
示例为一对多的表关系,学生为多,老师为一,设置外键字段可以为空,也就是说关联的老师被删除该学生依然存在,只是相应字段留空 class Teacher(models.Model): name = mod ...
- 微信中H5网页如何唤醒打开外部浏览器打开指定链接
最近遇到一个需求.朋友找我制作一个在微信中的聊天框,或者公众号菜单发布一条链接或者二维码.跳出微信打开一个指定的我们自己的页面, 拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的 ...