WebDriver API 大全

时间:2022-09-24 21:20:44
  • 访问某网页地址: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元素进行提交操作