【Java+Selenium(8)】---- 控制浏览器

本文介绍如何使用Selenium WebDriver控制浏览器窗口大小及实现浏览器的后退和前进操作。通过示例代码展示了设置浏览器尺寸的方法setSize()及最大化窗口方法maximize()的应用,并演示了模拟浏览器导航中的后退back()和前进forward()功能。

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

    Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法,比如浏览 器的大小以及浏览器后退、前进按钮等。

(1)控制浏览器窗口大小

    在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测 页面的前端样式进行评测。比如可以将浏览器设置成移动端大小(480x800),然后访问移动站点,对其样式 进行评估;WebDriver 提供了 setSize() 方法来设置浏览器的大小。

package selenium_pro1;

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

public class Browser {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("seting brwoser");
		//设置chrome的安装路径  
        System.setProperty ("webdriver.chrome.bin" , "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" );  
        //设置chromedriver路径  
        System.setProperty("webdriver.chrome.driver", "D:\\selenium\\chromedriver.exe");  
		WebDriver driver= new ChromeDriver();
		//设置浏览器窗口大小
		driver.manage().window().setSize(new Dimension(480, 800));
		driver.get("http://m.mail.10086.cn");
		driver.quit();

	}

}

    在 PC 端运行执行自动化测试脚本大多的情况下是希望浏览器在全屏幕模式下执行,那么可以使用 maximize()方法,其用法与 maximize()相同,但它不需要传参。

(2)控制浏览器后退、前进

    在使用浏览器浏览网页的时候,浏览器提供了后退和前进按钮,可以方便的对浏览过的网页之间切换, 那么 WebDriver 也提供了对应的 back()和 forward()方法来模拟后退和前进按钮。下面通过例子来演示这两 个方法的使用。

package selenium_pro1;

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

public class Browser_go {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("broser back and forward.");
		 //设置chrome的安装路径  
        System.setProperty ("webdriver.chrome.bin" , "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" );  
        //设置chromedriver路径  
        System.setProperty("webdriver.chrome.driver", "D:\\selenium\\chromedriver.exe");  
		WebDriver driver = new ChromeDriver();
		String firstUrl = "http://www.baidu.com"; 
		System.out.printf("now accesss %s \n", firstUrl);
		driver.get(firstUrl);
		String secondUrl = "http://news.baidu.com"; 
		System.out.printf("now accesss %s \n", secondUrl); 
		driver.get(secondUrl);
		System.out.printf("now back to %s \n", firstUrl);
		driver.navigate().back();
		System.out.printf("forward to %s \n", secondUrl);
		driver.navigate().forward();
//		driver.quit();

	}

}

    为了使脚本的执行过程看得更清晰,在每操作一步都通过 println 来打印当前的 URL 地址。执行结果如下:

broser back and forward.
Starting ChromeDriver 2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91) on port 17535
Only local connections are allowed.
四月 02, 2018 10:19:55 上午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Detected dialect: OSS
now accesss http://www.baidu.com 
now accesss http://news.baidu.com 
now back to http://www.baidu.com 
forward to http://news.baidu.com 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值