前面所讲的,大部分是WebDriver这个接口以及相关的类的使用。而本文所讲的窗口与导航,也是里面的内容,而且非常简单,目测就能学会。

  一。窗口,也就是window,这里的窗口是指浏览器窗口。他的方法主要有:

返回类型 方法说明
void fullscreen() 将当前浏览器窗口最大化
Point getPosition() 获得浏览器左上角位置
Dimension getSize() 获得当前窗口的大小
void maximize() 将当前窗口最大化
void setPosition(Point targetPosition) 设置窗口的位置
void setSize(Dimension targetSize) 设置窗口的大小

  需要注意的是,最大化和全屏不是一回事,最大化还有标题栏,还看的到系统任务栏,全屏就是全遮住了。例如一般浏览器按F11就是全屏了,大家可以试试。

  

  二。而导航,也是非常简单,就是控制窗口的前进,后退,刷新等。方法主要有:

返回类型
方法说明
void back() 后退
void forward() 前进
void refresh() 刷新
void to(java.lang.String url) 跳转到指定url
void to(java.net.URL url) 跳转到指定url

  

  三。driver.quit和driver.close到底有什么不同

  官方的说明是:

  driver.close:Close the current window, quitting the browser if it's the last window currently open.(关掉最后一个打开的窗口)

  driver.quit:Quits this driver, closing every associated window.(关掉所有相关的窗口)

  可见,driver.quit在关掉窗口方面更为彻底。老规矩,不信的话,可以自己扒下源码。

  下面是一些操作窗口的代码:

 System.setProperty("webdriver.chrome.driver", "D:/WorkSpace/SeleniumTest/tools/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.baidu.com");
Thread.sleep(2000); //最大化
driver.manage().window().maximize();
Thread.sleep(2000); //全屏
driver.manage().window().fullscreen();
Thread.sleep(2000); //打印当前位置,大小
System.out.println("当前位置:"+driver.manage().window().getPosition());
System.out.println("当前大小:"+driver.manage().window().getSize()); //重新设置窗口大小和位置
driver.manage().window().setSize(new Dimension(400, 300));
Thread.sleep(2000);
driver.manage().window().setPosition(new Point(100, 100));
driver.quit();

  效果如下:

  打印出的信息

  

  整个流程:

  

  

窗口与导航-----Selenium快速入门(十三)的更多相关文章

  1. 隐式等待-----Selenium快速入门(九)

    有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现 ...

  2. 元素(WebElement)-----Selenium快速入门(三)

    上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法:  返回值  方法名  说 ...

  3. Selenium窗口切换-----Selenium快速入门(六)

    有时候,我们打开多个窗口,进行多窗口操作,那么窗口间该如何切换呢? 切换的方法有两个,一个是通过窗口标题来验证,另一个是通过窗口特定的内容来验证,这两个方法都要求得到的标题或内容是唯一的. 用到的相关 ...

  4. js框操作-----Selenium快速入门(八)

    js框,就是JavaScript中的警告框(alert),确认框(confirm),提示框(prompt),他们都是模态窗口.什么是模态窗口,大家可以自行百度一下,简单说就是弹出的窗口是在最顶端的,你 ...

  5. Selenium框架切换-----Selenium快速入门(七)

    上一篇说了窗口的切换,本篇说说框架的切换. 切换框架:是指切换html中的iframe标签元素或者frame标签元素,注意,并不包括frameset 以下是常用的方法: 方法 说明 WebDriver ...

  6. Selenium快速入门(下)

    Frame相关 import time from selenium import webdriver from selenium.common.exceptions import NoSuchElem ...

  7. Selenium简介与环境搭配-----Selenium快速入门(一)

    Selenium是一套自动化测试框架.官方网站是:https://www.seleniumhq.org/  某些童鞋访问可能需要FQ. Selenium支持多种语言开发,例如Java,Python,C ...

  8. 元素定位-----Selenium快速入门(二)

    一.eclipse设置 工欲善其事必先利其器,在说元素定位之前,先来设置下eclipse. 首先放大一下字体,点击windows-preferences 其次,eclipse对于java的智能提示默认 ...

  9. 终结篇:RemoteWebDriver与Grid简介-----Selenium快速入门(十五)

    Selenium的基本使用,已经介绍得差不多了,今天来简单说说RemoteWebDriver与Grid,也是本系列的最后一篇. 还记得本系列第一章(Selenium简介与环境搭配)的配置中,提到我们下 ...

随机推荐

  1. eclipse搭建struts2环境及所遇到的问题

    最近几天一直在搭建struts2框架,本身struts2框架的搭建是非常简单的,但不知道为什么最近就是总是报错,报了一大串的错 首先就是每次在类的根路径下创建struts.xml时,就报错,也不知道为 ...

  2. 【校招面试 之 C/C++】第6题 C++深拷贝与浅拷贝

    1.两个的区别(1)在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制.当数据成员中没有指针时,浅拷贝是可行的: 但当数据成员中有指针时,如果采用简单的浅 ...

  3. 在IE10下,DropDownList的AutoPostBack不能触发

    Default.aspx 文件 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile=" ...

  4. MongoDB的基本shell操作(三)

    mongodb_server_ Installer.bat @echo offecho 正在安装服务MongoDB...start cmd /k "cd/d C:\Program Files ...

  5. 7-qt随机数qrand

    QT生成随机数和C语言差距不大,C语言用srand()和rand(),QT是用Qsrand()和qrand(): QT生成随机数的格式是: qsrand(QTime(0,0,0).secsTo(QTi ...

  6. HttpApplicationState与HttpApplication

    HttpApplicationState 类的单个实例在客户端第一次从某个特定的 ASP.NET 应用程序虚拟目录中请求任何 URL 资源时创建.对于 Web 服务器上的每个 ASP.NET 应用程序 ...

  7. 菜刀连接webshell

    中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,真是小巧实用啊!不过被不法分子利用到,就是一个黑站的利器了.我记得以前 ...

  8. spring boot2.03 spring cloud Finchley.RELEASE遇到的问题

    1.spring cloud bus 本地不能更新 原因是@RefreshScope注解要加在需要更新的controller上 2.No instances found of configserver ...

  9. Codeforces 710C. Magic Odd Square n阶幻方

    C. Magic Odd Square time limit per test:1 second memory limit per test:256 megabytes input:standard ...

  10. 大神真会玩~这组C4D动图,我都看了一整天!

    来自法国的Guillaume Kurkdjian 擅长创作一些平面动态图像 每张都诉说了一个小笑话或者小故事 像个极其微型的小电影. 这些动图的灵感可能来自某个交通工具 或是某个悠闲的时光 也可能是生 ...