• 访问某网页地址: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. eclipse中 web项目缺少tomcatl lib的解决办法

    1.最近在搭建的项目中,将项目导入eclipse中突然报好多错误,查看后全是丢失tomcat的lib包的错误,莫名其妙的错误. 代码中缺少的也是这样的问题 很明显,我之前的包丢了,莫名其妙的丢了. 解 ...

  2. 使用Navicat导入.csv文件(过程和注意点)

    1.创建一个数据库,右键点击表,选择导入向导. 2.在跳出的弹窗中选择.CSV文件,点击下一步 3.选择文件来源和编码规格,点击下一步 如果发现上传后中文出现乱码请使用10008这个编码规则 4.选择 ...

  3. phpcms的验证码替换 及 phpcms实现全站搜索功能

    在使用phpcms替换网页的时候,除了正常的替换栏目.内容页等,其他的什么验证码啦,提交表单了,搜索功能了,这些在替换的时候可能会对一些默认文件有一些小小 的改变 下面就是自己在失败中成功的过程,最后 ...

  4. windows10 使用gitblit搭建git服务器

    今天在win10上使用gitblit搭建git服务器时被坑了下,因为安装的java9出现不兼容问题,果断卸载重装了jdk8.废话不多说直接进入正题吧: 第一章 前言 使用gitblit搭建git se ...

  5. less新手入门(二) Mixin 混合、带参数的Mixin

    四.mixin  混合 "mix - in"属性来自现有的样式!! 你可以在类选择器和id选择器中使用mixin, .a,#b{ color: rebeccapurple; } . ...

  6. 基于Accord.Audio和百度语言识别

    ---恢复内容开始--- 目标需求 使用录音形式,模拟微信语音聊天.按住录音,松开发送语音,并完成语音识别. ps:百度的语言识别有60秒长度限制,需要自己做好控制. 实现方案 采用C# winfor ...

  7. Java---String总结

    JAVA中的String类,不管是日常开发,或者是面试,都是常用的类之一,所以写在这里也为为了总结,方便以后的查阅与复习.   特点: 1.Java中所有的类中,String是使用最多的一个类 2.是 ...

  8. Linux转发性能评估与优化(转发瓶颈分析与解决方式)

    线速问题 非常多人对这个线速概念存在误解. 觉得所谓线速能力就是路由器/交换机就像一根网线一样. 而这,是不可能的.应该考虑到的一个概念就是延迟. 数据包进入路由器或者交换机,存在一个核心延迟操作,这 ...

  9. Java中enum的学习总结

    一.通常的定义常量的方法 public class Sex{ public final static int MALE = 1; public final static int FEMALE=2; } ...

  10. 秦俊:开放 DevOps 敏捷开发套件,助力开发者驰骋云端

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ DevOps可以让人工智能(AI).大数据(Bigdata).云计算(Cloud)更加高效地落地,越来越多的企业和团队在践行DevOps. ...