前面所讲的,大部分是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. collections之deque【双向队列】与Queue【单向队列】

    今天来向大家介绍两个队列,一个是deque,双向队列,另外一个是Queue,单向队列,队列和堆栈不同,队列为先进先出,大家还需要注意一下,双向队列为collections模块中的类,而Queue为qu ...

  2. URL统一资源定位符的组成

    URL:Uniform Resource Locator统一资源定位符 用于定位网络上我们需要访问的资源 组成:协议名称+域名+路径+资源的名称.如:https://img13.360img.com/ ...

  3. POJ 1122.FDNY to the Rescue! Dijkstra

    FDNY to the Rescue! Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2808   Accepted: 86 ...

  4. 淘宝、天猫又开源了一个动态化、高性能的UI框架

    前言 淘宝.天猫一直致力于解决 页面动态化的问题 在2017年的4月发布了v1.0解决方案:Tangram模型 及其对应的 Android库 vlayout,该解决方案在手机淘宝.天猫 Android ...

  5. makefile all

    all:udps udpc udps:udpserv.c    gcc -Wall -o udps udpserv.cudpc:udpclient.c    gcc -Wall -o udpc udp ...

  6. msys2 命令行添加镜像地址

    sed -i "1iServer = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686" /etc/pacman.d/mi ...

  7. 执行程序---system

    头文件:#include<stdlib.h> 函数原型:int system(const char *command) 参数说明:command被执行的命令,字符串格式 返回值:成功则返回 ...

  8. sys.argv和getopt.getopt()的用法

    1.sys.argv Python中sys.argv是命令行参数从程序外部传值的的一种途径,它是一个列表,列表元素是我们想传进去的的新参数,所以可以用索引sys.argv[]来获得想要的值.因为一个写 ...

  9. 2018软工项目UML设计(团队)

    团队信息 队名:火箭少男100 本次作业课上成员 短学号 名 本次作业博客链接 2507 俞辛(临时队长) https://www.cnblogs.com/multhree/p/9821080.htm ...

  10. 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了?

    在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了? 在删除成功后,加上这句话就可以了:$("#dg").datagrid ...