设为首页收藏本站
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

Selenium WebDriver 中文教程 API(三)之浏览器操作

2015-7-9 23:18| 发布者: webdriver| 查看: 8428| 评论: 0|原作者: webdrver中文社区|来自: wedriver中文社区

摘要: Selenium WebDriver 中文教程 API对浏览器操作的五个方法:1.浏览器窗口最大化 .2.浏览器前进 3.浏览器后退 4.浏览器刷新 5.浏览器切换窗口


操作浏览器的方法主要有四个:

 

1.浏览器窗口最大化

2.浏览器前进

3.浏览器后退

4.浏览器刷新

5.浏览器切换窗口

 

package com.cxy.cn;

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

 

public class ChinaWebDriverTest_02 {

 

  

      private static String url="http://dev.bignox.com/";

     

      public static void main(String args[]){

        

       System.setProperty("webdriver.chrome.driver", "C:\\browser\\chromedriver.exe");

       WebDriver driver = new ChromeDriver();

       driver.get(url);

       driver.manage().window().maximize();

       driver.findElement(By.linkText("管理中心")).click();

        driver.navigate().refresh();

       try {

         Thread.sleep(5000);

      } catch (InterruptedException e) {

         // TODO Auto-generated catch block

         e.printStackTrace();

      }

       driver.navigate().back();

       driver.navigate().forward();

       driver.quit();

   }

}

 

driver.manage().window().maximize():将浏览器的窗口最大化。

 

driver.navigate().back():控制浏览器按照浏览器记录的history,回退到上一个页面。

       

driver.navigate().forward():控制浏览器按照浏览器记录的history,前进到上一个页面。

 

driver.navigate().refresh():刷新页面

 

这里着重的介绍第四个方法:切换窗口。因为第四个方法使用的场景比较的多。当你打开一个新的窗口,旧的窗口没有关闭的时候,这个时候想操作你的目标窗口就要切换一下句柄了。第一步首先获得窗口的handle,然后才可以操作handle里面的元素。方法代码如下:

 public  boolean switchToWindow(String windowTitle,WebDriver dr){  

   boolean flag = false;  

   try { 

//     将页面上所有的windowshandle放在入set集合当中

       String currentHandle = dr.getWindowHandle();  

       Set handles = dr.getWindowHandles();  

       for (String s : handles) {  

           if (s.equals(currentHandle))  

               continue;  

           else {  

            dr.switchTo().window(s);

//                和当前的窗口进行比较如果相同就切换到windowhandle

//                判断title是否和handles当前的窗口相同

               if (dr.getTitle().contains(windowTitle)) {  

                   flag = true;  

                   System.out.println("Switch to window: "  

                           + windowTitle + " successfully!");  

                   break;  

               } else  

                   continue;  

           }  

       }  

   } catch (Exception e) {  

       System.out.printf("Window: " + windowTitle  

               + " cound not found!", e.fillInStackTrace());  

       flag = false;  

   }  

   return flag;  

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
收藏 分享 邀请

最新评论