前面所讲的,大部分是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();
效果如下:
打印出的信息
整个流程: