千家信息网

WebDriver总结-不同浏览器的启动方式

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,启动Firefox Browser。1这种情况适用于Firefox安装在了默认路径下WebDriver driver = new FirefoxDriver();//直接new一个FirefoxDri
千家信息网最后更新 2025年12月02日WebDriver总结-不同浏览器的启动方式

启动Firefox Browser。

1这种情况适用于Firefox安装在了默认路径下

WebDriver driver = new FirefoxDriver();//直接new一个FirefoxDriver

Navigation navigation = driver.navigate();

// 进入百度首页

navigation.to("http://www.baidu.com");

2 这种情况适用于Firefox未安装在默认路径下

System.out.println("start firefox browser...");

System.setProperty("webdriver.firefox.bin",     //指定firefox的安装路径

"D:/Program Files/Mozilla Firefox/firefox.exe");  

WebDriver driver = new FirefoxDriver();

Navigation navigation = driver.navigate();

navigation.to("http://www.baidu.com/");


3这种情况可以加载出Firefox的插件。

首先要知道我们为什么需要加载插件原因是webdriver在启动浏览器时启动的一个干净的没有任务、插件及cookies信息的浏览器(即使你本机的firefox安装了某些插件webdriver启动firefox也是没有这些插件的)但是有可能被测系统本身需要插件或者需要调试等等此时可以用如下方法在启动firefox时加载插件下面示例加载firebug插件

import java.io.File;

import java.io.IOException;


import org.openqa.selenium.Alert;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebDriver.Navigation;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.firefox.FirefoxProfile;


public class TestDemo {


public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("start firefox browser...");

System.setProperty("webdriver.firefox.bin",

"C:/Program Files (x86)/Mozilla Firefox/firefox.exe");

File file = new File("/files/firebug-2.0.7-fx.xpi");

FirefoxProfile profile = new FirefoxProfile();

try {

profile.addExtension(file);

} catch (IOException e) {

e.printStackTrace();

}

profile.setPreference("extensions.firebug.currentVersion", "2.0.7");

//active firebug extensions

profile.setPreference("extensions.firebug.allPagesActivation", "on");

WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.baidu.com");

System.out.println("start firefox browser succeed...");

}


}

--------------------------------------

上述代码并未调通报如下异常

start firefox browser...

Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7055; process output follows:

null

Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'

System info: host: 'XL-20150414QGDQ', ip: '192.168.80.6', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_80'

Driver info: driver.version: FirefoxDriver

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:128)

at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:119)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:218)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:211)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:207)

at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:124)

at TestDemo.main(TestDemo.java:27)

Caused by: org.openqa.selenium.firefox.UnableToCreateProfileException: java.io.FileNotFoundException: \files\firebug-2.0.7-fx.xpi (系统找不到指定的路径。)

Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'

System info: host: 'XL-20150414QGDQ', ip: '192.168.80.6', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_80'

Driver info: driver.version: FirefoxDriver

at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:427)

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:85)

... 7 more

Caused by: java.io.FileNotFoundException: \files\firebug-2.0.7-fx.xpi (系统找不到指定的路径。)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(Unknown Source)

at org.openqa.selenium.firefox.internal.FileExtension.obtainRootDirectory(FileExtension.java:80)

at org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:59)

at org.openqa.selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:443)

at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:421)

... 8 more


4用第(3)种情况未调通。

每次启动如果都像上面那样在代码里面配置profile比较麻烦可以使用下面的方法启动本机器的firefox的配置换句话说就是我们可以事先配置本 机的firefox然后用webdriver启动它这样本机上的firefox安装了什么插件都可以直接使用了不需要在配置profile:

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("start firefox browser...");

System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/Mozilla Firefox/firefox.exe");

ProfilesIni pi = new ProfilesIni();

FirefoxProfile profile = pi.getProfile("default");

WebDriver driver = new FirefoxDriver(profile);

driver.get("http://www.baidu.com");

System.out.println("start firefox browser succeed...");

}




启动IE Browser。

PS:Firefox已自带外其他浏览器均需从Selenium官网http://docs.seleniumhq.org/download/下载各自的Driver。

1启动本地IE Browser。

System.setProperty("webdriver.ie.driver",

"E:\\selenium\\IEDriverServer.exe");//IEDriverServer.exe所在本地路径

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();

ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);

WebDriver driver = new InternetExplorerDriver(ieCapabilities);

driver.get("http://www.baidu.com");


启动Chrome Browser。


1启动本地Chrome Browser。

public static void main(String[] args) {

// TODO Auto-generated method stub

System.setProperty("webdriver.chrome.driver",

"E:\\selenium\\chromedriver.exe");//chromedriver.exe所在本地路径

WebDriver driver = new ChromeDriver();

driver.get("http://www.baidu.com");

driver.findElement(By.id("kw")).sendKeys(Keys.chord(Keys.SHIFT,"webdriver"));

driver.findElement(By.id("su")).click();

driver.close();

}

插件 路径 情况 配置 浏览器 浏览 系统 代码 所在 方法 干净 任务 信息 原因 就是 换句话说 机器 示例 面的 麻烦 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国产化服务器供应费用 浪潮存储软件开发工程师 为什么育碧登录显示服务器 智能物流调度数据库 美国网络安全法律制度的特点 奇云宝可梦服务器怎么创造 ibm 服务器开机报警 客户端 服务器 管理端 潮州西餐智慧餐饮软件开发 服务器疫情消杀 艾尔登法环没法登录服务器 新生儿的血型是否存数据库 计算机网络技术女生就业率 医院网络安全加固方案 建立一个数据库和表的步骤 如何在阿里云上建服务器 我的世界服务器最安全的位置 建立网络安全信息共享机制 互联网金融科技的发展趋势 重庆物联水电缴费软件开发团队 吉林市博创网络技术公司 注册ps4账号服务器连接超时 无线网显示服务器未识别网络 金山区企业网络技术服务口碑推荐 数据库配置文件怎么看 海康管理服务器硬盘坏了 第一历史档案馆数据库阅读 软件开发常用购买 服务器外访 安徽正规软件开发服务有哪些
0