• 访问某网页地址: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. thinkphp框架知识点

    基本配置 define('APP_DEBUG',true);//开启debug模式 //记录日志 'LOG_RECORD' => true, //系统日志在记录的时候需要开启debug调试模式, ...

  2. 备忘录模式(Memento)

    备忘录模式(Memento) 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是 ...

  3. IntelliJ IDEA(三) :常用快捷键

    说IDEA对新手来说难,可能其中一个原因就是快捷键组合多而且复杂但是它也很全,基本所有功能都可以通过快捷键来完成,可以这么说,如果你掌握了所有IDEA的快捷键使用,那么你完全可以丢掉鼠标,而且不影响开 ...

  4. Thinkphp高仿陌陌网页直播

    此项目利用 TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole 的架构方案 GitHub 地址:https://github.com/DOUBLE- ...

  5. 【MySQL】20个经典面试题,全部答对月薪10k+

    Part2:经典题目 1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 2.MySQL中myisam与innodb的区别,至少5点 (1).问5点不同: (2).innodb引 ...

  6. Webpack3.0入门指南

    前言 本文是基于我厂基友的Webpack学习系列(一)初学者使用教程 这篇文章做构建.可能基友的文章是基于Mac环境,我是windows环境,在学习时遇到了很多坑,询问基友,他让我搞个基于window ...

  7. “IAsyncOperation<StorageFile>”不包含“GetAwaiter”的定义

    错误 CS4036 "IAsyncOperation<StorageFile>"不包含"GetAwaiter"的定义,并且找不到可接受类型为&quo ...

  8. javascript设计模式——命令模式

    前面的话 假设有一个快餐店,而我是该餐厅的点餐服务员,那么我一天的工作应该是这样的:当某位客人点餐或者打来订餐电话后,我会把他的需求都写在清单上,然后交给厨房,客人不用关心是哪些厨师帮他炒菜.餐厅还可 ...

  9. IDEA 无法运行Junit, 报错Class not found xxxx Empty test suite.

    网上搜了一圈没找到答案, 最后才发现是因为testmodule没有把class编译到主代码编译的路径.

  10. vue.js介绍,常用指令,事件,以及制作简易留言版

    一.vue是什么? 一个mvvm框架(库).和angular类似,比较容易上手.小巧,让我们的代码更加专注于业务逻辑,而不是去关注DOM操作 二.vue和angular之间的区别 vue--简单易学 ...