【Java+Selenium(2)】---- 启动FireFox

一. 简介

     本文介绍用 Java + selenium 实现启动和关闭 FireFox 浏览器。Selenium 主要用于测试 web 项目。所以首先要掌握打开和关闭浏览器。本篇文章先介绍一下启动FireFox。

二. 启动FireFox

     直接看代码吧,稍后解释

package selenium_pro1;

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class LaunchFireFox {

	public static void main(String[] args) {
		System.out.println("start selenium");
		//初始化FireFox浏览器实例
		WebDriver driver = new FirefoxDriver(); 
		//最大化窗口  
        driver.manage().window().maximize();  
        //设置隐性等待时间  
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); 
        //打开一个站点
		driver.get("http://www.baidu.com/"); 
		//获取当前页面的标题
		System.out.println("当前打开页面的标题是:" + driver.getTitle());
		//关闭浏览器
		driver.close();
		System.out.println("end selenium");
	}

} 

运行结果:

start selenium
Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
System info: host: 'DESKTOP-90TCCQ8', ip: '192.168.1.185', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_74'
Driver info: driver.version: FirefoxDriver
	at org.openqa.selenium.firefox.FirefoxBinary.<init>(FirefoxBinary.java:116)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.openqa.selenium.firefox.FirefoxOptions.getBinary(FirefoxOptions.java:218)
	at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:155)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:98)
	at selenium_pro1.LaunchFireFox.main(LaunchFireFox.java:15)
出现了异常:找不到火狐浏览器的路径。所以需要设置火狐浏览器路径,用
System.setProperty ("webdriver.firefox.bin" , "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" );

再次运行,运行结果:

start selenium
Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases
	at com.google.common.base.Preconditions.checkState(Preconditions.java:754)
	at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)
	at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:41)
	at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:141)
	at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:339)
	at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:158)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:98)
	at selenium_pro1.LaunchFireFox.main(LaunchFireFox.java:16)
 

再次出现异常,问题是没有安装geckodriver。解决方法:打开 https://github.com/mozilla/geckodriver/releases  下载与系统相对性一个Windows 版本的 geckodriver 。解压,并把 geckodriver.exe 放在 D:\selenium 下。并在代码最首加入设置geckodriver.exe 路径的代码。

System.setProperty("webdriver.gecko.driver", "D:\\selenium\\geckodriver.exe");

运行成功,结果如下:

三. 总结

(1)启动火狐浏览器需要首先设置 FireFox 安装路径 与 geckodriver 路径  并初始化浏览器。

(2)浏览器启动需要一定的时间,所以需要设置等待时间,等浏览器完全加载,在输入地址。

(3)driver.get(); 打开一个站点。

(4)driver.close(); 关闭浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值