切换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)

  1. click() 点击对象  eg:browser.find_element_by_id("su").click()
  2. perform()  执行所有ActionChains中存储的行为
  3. content_click()   右击
  4. double_click()双击
  5. drag_and_drop(source,target)   拖动     source:鼠标拖动的源元素 ;target:鼠标释放的目标元素
  6. move_to_element()  鼠标悬停

键盘事件Keys()类

(from selenium.webdriver.common.keys import Keys)

  1. send_keys(*value)   在对象上模拟按键输入 eg:browser.find_element_by_id("kw").send_keys("selenium")
  2. send_Keys(Keys.BACK_SPACE)  删除键  eg:browser.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
  3. send_Keys(Keys.SPACE)   空格键   eg:browser.find_element_by_id("kw").send_keys(Keys.SPACE)
  4. send_Keys(Keys.CONTROL,'a')  全选   eg:browser.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
  5. send_Keys(Keys.ENTER)  回车 eg:browser.find_element_by_id("kw").send_keys(Keys.ENTER)
  6. send_Keys(Keys.TAB)  制表键
  7. send_Keys(Keys.ESCAPE)  回退键
  8. send_Keys(Keys.F1)  键盘F1

多表单切换

  1. driver.switch_to.frame("if")   切换到iframe(id='if')  switvh_to.frame()默认可以直接取表单的id或name属性
  2. switch_to.parent_content()   跳出当前一级表单
  3. switch_to.default_content()  跳回最外层的页面

窗口切换

  1. driver.current_window_handle   获得当前搜索窗口句柄
  2. switch_to.window()    窗口切换
  3. driver.window_handles     返回所有窗口的句柄到当前会话

警告框

  1. text       返回alert/confirm/prompt中的文字信息
  2. accept() 接受现有警告框
  3. dismiss() 解散现有警告框
  4. send_Keys(*value) 发送文本到警告框
  5. driver.switch_to_alert().accept() 接受警告框

Cookie

  1. get_cookies() 获得所有cookies信息 eg : cookie = driver.get_cookies()
  2. get_cookie(name) 返回字典的key为“name"的cookie信息
  3. add_cookie(cookie_dict) 添加cookie,需要字典对象  eg:driver.add_cookie({'name1':'value1','name2':'value2'})
  4. delete_cookie(name,optionsString) 删除cookie信息。name是要删除的cookie名称,optionString是该cookie的选项
  5. 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的更多相关文章

  1. 转:python webdriver API 之操作测试对象

    一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...

  2. Webdriver API (二)

    (转载) 1.3 打开测试页面 对页面对测试,首先要打开被测试页面的地址(如:http://www.google.com),web driver 提供的get方法可以打开一个页面: // And no ...

  3. selenium2(WebDriver) API

    selenium2(WebDriver) API 作者:Glen.He出处:http://www.cnblogs.com/puresoul/  1.1  下载selenium2.0的包 官方downl ...

  4. Selenium2+Python:Webdriver API速记手册

    由于web自动化常常需要控制浏览器行为和操作页面元素,相关函数又比较多,于是再此记下一份Webdriver API查阅文档以备不时之需. 参考:虫师<Selenium2自动化测试实战>,和 ...

  5. webdriver API中文文档

    1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniu ...

  6. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  7. Selenium WebDriver Api 知识梳理

    之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 # id定位 driver.find_element_by_id() # ...

  8. 2.28 查看webdriver API

    2.28 查看webdriver API(带翻译) 前言    前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就教大家如何去查看seleni ...

  9. 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 ...

  10. Webdriver API中文版

    Webdriver API中文版 1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGui ...

随机推荐

  1. ASA failover --AA

    1.A/A Failover  介绍 安全设备可以成对搭配成A/A的FO来提供设备级的冗余和负载分担. 两个设备在互为备份的同时,也能同时转发流量. 使用虚拟子防火墙是必须的,子防火墙被归为两个FO组 ...

  2. Nginx与PHP-FPM运行原理详解

    目录 1. 代理与反向代理 1. 正向代理:访问google.com 2. 反向代理:通过反向代理实现负载均衡 2. 初识Nginx与PHP-FPM 1. Nginx是什么 2. CGI与FastCG ...

  3. 【Idea】Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处

    前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,ec ...

  4. Keras RetinaNet github项目

    https://github.com/fizyr/keras-retinanet 根据此网站的方法,利用Pascal VOC 2007数据集开始训练,出现error: D:\JupyterWorkSp ...

  5. bootstrap表格添加按钮、模态框实现

    bootstrap表格添加按钮.模态框实现 原创 2017年07月20日 17:35:48 标签: bootstrap 1723 bootstrap表格添加按钮.模态框实现 - 需求: 需要表格后面每 ...

  6. Objective-C RunTime 学习笔记 之 atomic/nonatomic 关键字

    atomic修饰的是变量/方法,对于可变对象的指针变量是安全的,内部实现加了锁,但是对可变对象本身没什么影响,不安全还是不安全.另外atomic仅仅对编译器生产的getter.setter有效,如果自 ...

  7. setoolkit 制作钓鱼网页

    由于是在虚拟机下实验,仅做示范 下载地址 git clone https://github.com/trustedsec/social-engineer-toolkit/ 终端输入setoolkit启 ...

  8. Query a JSON array in SQL

    sql 中存的json 为数组: [{"Level":1,"Memo":"新用户"},{"Level":2," ...

  9. luogu P1578 奶牛浴场

    很好的一道题 王知昆爷爷的论文(讲的特别清楚) https://wenku.baidu.com/view/bc8311f69e314332396893f7.html 先贴上AC代码 #include& ...

  10. ubuntu14.04安装opencv3.1

    1.下载opencv3.1源码http://opencv.org/releases.html 2.安装opencv3 2.1安装opencv3的依赖 sudo apt-get install buil ...