Selenium Web 自动化 - Selenium常用API

发表于:2018-10-12 10:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:明-Ming    来源:博客园

  1 对浏览器操作
  1.1 用webdriver打开一个浏览器
  //打开firefox浏览器:
  WebDriver driver = new FirefoxDriver();
  //打开IE浏览器
  WebDriver driver = new InternetExplorerDriver ();
  //打开HtmlUnit浏览器
  WebDriverdriver = new HtmlUnitDriver();
  //打开chrome浏览器
  WebDriverdriver = new ChromeDriver();
  1.2 最大化浏览器&关闭浏览器
  WebDriver driver = new FirefoxDriver();
  driver.manage().window().maximize();
  driver.close();
  driver.quit();
  1.3 设置浏览器窗口大小
  private static void SetWindowTest(WebDriver driver)
  throws InterruptedException {
  // 设置窗口的 宽度为:800,高度为600
  Dimension d = new Dimension(800, 600);
  driver.manage().window().setSize(d);
  Thread.sleep(2000);
  // 设置窗口最大化
  driver.manage().window().maximize();
  Thread.sleep(2000);
  // 设置窗口出现在屏幕上的坐标
  Point p = new Point(500, 300);
  // 执行设置
  driver.manage().window().setPosition(p);
  Thread.sleep(2000);
  }
  1.4 打开测试页面
  打开测试页面
  driver.get("http://www.baidu.com/");
  driver.navigate().to("http://www.baidu.com/");
  //navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等
  1.5 处理浏览器弹出的新窗口
  private static void MutiWindowTest(WebDriver driver)
  throws InterruptedException {
  WebDriver newWindow = null ;
  driver.get("http://www.hao123.com/");
  //浏览器最大化
  driver.manage().window().maximize();
  //获取当前页面句柄
  String current_handles = driver.getWindowHandle();
  //点击 百度链接
  driver.findElement(By.xpath("//*[@data-title='百度']")).click();
  //接下来会有新的窗口打开,获取所有窗口句柄
  Set<String> all_handles = driver.getWindowHandles();
  //循环判断,把当前句柄从所有句柄中移除,剩下的就是你想要的新窗口
  Iterator<String> it = all_handles.iterator();
  while(it.hasNext()){
  if(current_handles == it.next()) continue;
  //跳入新窗口,并获得新窗口的driver - newWindow
  newWindow = driver.switchTo().window(it.next());
  }
  //接下来在新页面进行操作,也就是百度首页,我们输入一个java关键字进行搜索
  Thread.sleep(5000);
  WebElement baidu_keyowrd = newWindow.findElement(By.id("kw"));
  baidu_keyowrd.sendKeys("java");
  Thread.sleep(1000);
  //关闭当前窗口,主要使用close而不是quite,
  newWindow.close();
  driver.switchTo().window(current_handles);
  System.out.println(driver.getCurrentUrl());
  }
   
   上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号