Java+Selenium3方法篇3-window接口相关方法介绍

本文详细介绍WebDriver接口中的window方法,包括设置浏览器窗口大小、位置、最大化及全屏等操作,并提供了具体的自动化脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      本文继续介绍WebDriver.java这个文件里面的接口方法,上一篇介绍了timeout接口内相关方法,这篇文章介绍window接口。windows接口下有几个方法,主要是用来控制浏览器窗口设置,例如窗口大小,最大,最小,全屏,位置。我们先来看看window接口下有什么方法。

void setSize(Dimension targetSize);
void setPosition(Point targetPosition);
Dimension getSize();
Point getPosition();
void maximize();
void fullscreen();

       我们前面使用过了maximize(),这里就不再介绍,第一个我们介绍setSize(Dimension targetSize)和getPosition(),这里要注意下参数 targetSize这个是一个类,不是一个普通的数据类型,来看看如何写关于浏览器位置设置的自动化脚本。

package lessons;

import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class PageLoadTest {
	
public static void main(String[] args) {
		
		System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
		
		WebDriver driver = new ChromeDriver();
		
		// 注意targetPosition是一个点对象,把一个点作为参数传入,不能直接写(300, 600)
		Point targetPosition = new Point(300, 600);
		driver.manage().window().setPosition(targetPosition);
		System.out.println(driver.manage().window().getPosition());
		
	}


}
运行结果,chrome浏览器会大概出现在屏幕的下方。

接下来看看如何设置浏览器窗口大小和获取窗口大小。

package lessons;

import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class PageLoadTest {
	
public static void main(String[] args) {
		
		System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
		
		WebDriver driver = new ChromeDriver();
		
		// 注意targetSize是一个对象传入,也不可以直接写成 1024*768
		Dimension targetSize = new Dimension(1024, 768); 
		driver.manage().window().setSize(targetSize);
		System.out.println(driver.manage().window().getSize());
		
	}

}
运行下,看看效果,为了对比,你改成最大化窗口,然后打印出窗口大小出来,看看是不是接近你设置的屏幕分辨率。

关于全屏这个方法的调用,我在chrome和fiefox都出现了异常,其中chrome报错Exception in thread "main" org.openqa.selenium.WebDriverException: unimplemented command: session/0486e6678304219164f92f27b67d313a/window/fullscreen
Command duration or timeout: 10 milliseconds

为了解决这个全屏问题,这里我们需要借助按下F11这个键。

package lessons;



import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class PageLoadTest {
	
public static void main(String[] args) {
		
		System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
		
		WebDriver driver = new FirefoxDriver();
		
		// 按下F11,可以看到全屏效果
		driver.get("https://www.baidu.com");
		//driver.manage().window().fullscreen();
		
		driver.findElement(By.tagName("body")).sendKeys(Keys.F11);
		
	}

}
最后一行的代码,你先不要去理解什么意思,后面会具体介绍。关于driver的设置浏览器窗口相关方法就介绍到这里。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值