• 访问某网页地址:driver.get(url)  或  driver.navigate().to(url)
  • 访问上一个访问的网页(模拟单击浏览器的后退按钮)driver.navigate().back()
  • 从上次访问的网页前进到下一个网页(模拟单击浏览器的前进功能)driver.navigate().forward()
  • 刷新当前网页 driver.navigate().refresh()
  • 操作浏览器窗口
    浏览器窗口最大化:driver.manage().window().maximize();
    关闭浏览器: driver.quit(); driver.close();
  • 获取页面的Title属性 driver.getTitle();
  • 获取页面源代码 driver.getPageSource()
  • 获取当前页面的URL地址 driver.getCurrentUrl()
  • 在输入框中清除原有的文字内容 driver.clear()
  • 在输入框中输入指定内容 driver.sendKeys("输入的内容")
  • 鼠标单击按钮 driver.click()
  • 双击某个元素
    Actions builder =new Actions(driver) //声明Action对象
    builder.doubleClick(driver.findElement(By.id("inputbox"))).build().perform();
  • 操作单选下拉列表
    Select select = new Select(driver.findElement(By.id("select"))); 使用id属性找到页面上id属性为select的下拉列表元素
    select.isMultiple(); 判断下拉列表是否允许多选 true:多选 false:单选
    select.selectByIndex(3); 表示选中下拉列表的第四个选项,0表示第一个选项
    select.selectByVisibleText(“A”); 表示通过选项文字来进行选中
    select.selectByValue(“1”); 表示使用下拉列表选项的Value属性值进行选中操作,值为1
    select.deselectAll(); 全部取消选中
    select.deselectByValue(“1”); 取消选中某一个选项
    select.deselectByVisibleText(“A”);
    select.getAllSelectedOptions();
    select.getFirstSelectedOption(); 获取当前被选中的下拉列表选项
    select.getFirstSelectedOption().gettext(); 获取当前被选中的下拉列表选项文本
  • 检查单选列表的选项文字是否符合期望
  • 单选项(Radio Button)
    WebElement radio=driver.findElement(By.id("BookMode"));
    radio.click();     //选择某个单选项
    radio.clear();     //清空某个单选项
    radio.isSelected();  //判断某个单选项是否已经被选择
  • 多选项(checkbox)
    WebElement checkbox = driver.findElement(By.id("myCheckbox."));
    checkbox.click();
    checkbox.clear();
    checkbox.isSelected();
    checkbox.isEnabled()
  • 杀掉Windows的浏览器进程
    WindowsUtils.tryToKillByName("firefox.exe");
    WindowsUtils.tryToKillByName("chrome.exe");
    WindowsUtils.tryToKillByName("iexplore.exe");
  • 将当前浏览器的窗口截屏
    driver.get("http://www.baidu.com");
    File scrFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 调用方法截图保存在file对象中
      try {
        FileUtils.copyFile(scrFile, new File("C:\\test\\tet.png")); 将file对象转换成为一个保存在C磁盘下test目录中文件名为test.png的图片文件
        } catch (Exception e) {
        e.printStackTrace();
      }
  • 检查页面元素的文本内容是否出现
  • 执行JavaScript脚本
  • 拖拽页面元素
  • 模拟键盘的操作
  • 弹出对话框(Popup dialogs)
    Alert alert = driver.switchTo().alert();
    alert.accept();  //确定
    alert.dismiss();  //取消
    alert.getText(); //获取文本
  • 表单(Form)
  Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
    WebElement approve = driver.findElement(By.id("approve"));
    approve.click();
      或
    approve.submit();//只适合于表单的提交
  • 上传文件
    上传文件的元素操作:
      WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
      String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
      adFileUpload.sendKeys(filePath);
  • Windows 和 Frames之间的切换
    driver.switchTo().defaultContent();     //返回到最顶层的frame/iframe
    driver.switchTo().frame("leftFrame");    //切换到某个frame:
    driver.switchTo().window("windowName");  //切换到某个window
  • 调用Java Script
    Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如:
    JavascriptExecutor js = (JavascriptExecutor) driver;
    js.executeScript("JS脚本");
  • 超时设置
    WebDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);    //识别元素时的超时时间
    driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //页面加载时的超时时间
    driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);  //异步脚本的超时时间
  • 操作页面元素
    Click(); 执行单击元素操作
    SendKeys(text) 给input元素输入文本
    Clear() 清空input元素的值
    Submit() 对指定元素所在的from元素进行提交操作

WebDriver API 大全的更多相关文章

  1. 免费api大全(更新中)

    免费api大全(更新中) API大全  http://www.apidq.com/    (这个碉堡了) 天气接口 气象局接口 完整数据:http://m.weather.com.cn/data/10 ...

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

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

  3. Webdriver API (二)

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

  4. selenium2(WebDriver) API

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

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

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

  6. webdriver API中文文档

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

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

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

  8. api大全

    免费api大全(更新中) API大全  http://www.apidq.com/    (这个碉堡了) 天气接口 气象局接口 完整数据:http://m.weather.com.cn/data/10 ...

  9. Selenium WebDriver Api 知识梳理

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

随机推荐

  1. TCP/IP 协议 ----- 协议栈

    文章是作者对tcp/ip协议族的一些看法,借鉴TCP/IP详解卷一的内容,进行总结归纳,并阐述自己的一些看法. TCP/IP协议栈· : 整个协议栈被分为了四层,每一层协议负责不同的功能: 链路层:负 ...

  2. leetcode算法题2: 合并两个二叉树。递归,如何切入并保持清醒?

    /* Given two binary trees and imagine that when you put one of them to cover the other, some nodes o ...

  3. eclipse修改内存大小

    一般安装完eclipse之后,在安装目录下你应该可以看到有一个 eclipse.ini 文件,对了,就是在这个文件里面修改,我打开同事机器上这个文件,里面的内容是: -vmargs-Dosgi.spl ...

  4. Linux 编程--三种常用的定时器

    这节我们来探讨一下linux开发过程中常用的定时器,尤其在网络编程中被常常用到如heartbeat,断线重连等等.这里提供了三种定时器的方案,分别是链表形式的计时器,环型计时器,最小堆计时器.每个都有 ...

  5. python3 三级菜单-基础版

    # -*- coding:utf-8 -*- data = { "北京":{ "东城区":{ "安定门":["国子监", ...

  6. 【luogu P2002】消息扩散

    https://www.luogu.org/problem/show?pid=2002 SCC缩点的模板题,缩点后统计入度为0的点的数量就完了. #include <iostream> # ...

  7. OBS源码解析(3)OBSApp类介绍

    OBSApp类有以下功能: 1.负责配置文件管理 2.版本信息管理 3.主界面OBSBasic对象管理 4.obs模块初始化 class OBSApp : public QApplication { ...

  8. Nginx软件部署配置过程

    ---恢复内容开始--- 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar ...

  9. RT5350的uvc驱动支持yuv格式摄像头成功

    请尊重别人的劳动成果 转载请务必注明出处 今天在rt5350的板子上,成功将仅仅支持yuv格式的usb camera摄像头执行了.採用的是mjpeg streamer ,须要libjpeg库支持yuv ...

  10. 我的GIS观

    申明: 文章所述观点与不论什么组织或个人无关,仅代表我个人观点,如有不正确,还望批评指正. 概述: 从毕业到如今,在GIS这条路上也算是摸爬滚打4.5年了.说长也不长,说短也不短.在这4.5年的时间里 ...