获取FirefoxProfile配置文件以及使用方法介绍

使用默认方式构建的(WebDriver)FirefoxDriver实例:

WebDriver driver = new FirefoxDriver();

这种方式下,打开的Firefox浏览器将是不带任何插件的浏览器,和初始安装一样的状态。有时在测试中需要使用到预先保留的一些信息,比如Cookie中的用户名和密码等,显然这种方式不适用了。

这里可以采用下面的方式来构建(WebDriver)FirefoxDriver实例:

String firefoxProfileDir = "C:\\Users\\XXXXX\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\a6xwo0b1.default";

FirefoxProfile profile = new FirefoxProfile(new File(firefoxProfileDir));

WebDriver driver = new FirefoxDriver(profile);

这里firefoxProfileDir的获取方式是:

通过在开始菜单中的“搜索程序和文件”中输入%APPDATA%\Mozilla\Firefox\Profiles\ 来获取路径

详细可以参考

http://www.tuicool.com/articles/NJv6Nj

https://support.mozilla.org/zh-CN/kb/用户配置文件

实例:

 1 package com.test.mouse;
 2
 3 import java.io.File;
 4 import java.util.Iterator;
 5 import java.util.Set;
 6
 7 import org.openqa.selenium.By;
 8 import org.openqa.selenium.Cookie;
 9 import org.openqa.selenium.WebDriver;
10 import org.openqa.selenium.firefox.FirefoxDriver;
11 import org.openqa.selenium.firefox.FirefoxProfile;
12
13 public class MouseOperation {
14
15     public static void main(String[] args) {
16
17         //通过加载配置文件使得由WebDriver启动的firefox浏览器也能共享之前安装过的插件以及保存的密码等信息
18         FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\huangch\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\a6xwo0b1.default"));
19         WebDriver driver = new FirefoxDriver(profile);
20
21         driver.get("http://c37.yunpan.360.cn");
22         driver.manage().window().maximize();
23         waitTime(5000);
24
25         driver.findElement(By.xpath("//*[@id=‘infoPanel‘]/a[2]")).click();
26
27 //可以使用下面的方法将当前页面对应的Cookies内容打印出来
28         Set<Cookie> setCookie = driver.manage().getCookies();
29         Iterator iterator = setCookie.iterator();
30         while(iterator.hasNext()){
31             Cookie c = (Cookie) iterator.next();
32             System.out.println(c.getDomain()+"---"+c.getName()+"---"+c.getPath()+"---"+c.getValue());
33         }
34
35
36     }
37
38     static public void waitTime(int time) {
39
40         try {
41             Thread.sleep(time);
42         } catch (InterruptedException e) {
43             // TODO Auto-generated catch block
44             e.printStackTrace();
45         }
46     }
47
48
49
50 }
时间: 2024-12-04 15:43:06

获取FirefoxProfile配置文件以及使用方法介绍的相关文章

SWIFT中获取配置文件路径的方法

在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDirectory() ->String { var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentationDirectory, NSSearchPathDomainMask.UserDomainMa

iOS开发中获取文件路径的方法介绍

1.首先要知道什么是沙盒? 沙盒就是每一个应用程序安装完毕之后在本地生成的一个文件夹,就叫做沙盒文件.下面是沙盒的一个路径展示: 可以看到: iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么?下面就详细的一一道来: 分别是:documents,tmp,app,Library. 而获取APP的沙盒的函数是:(NSHomeDirectory(), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在Prefe

MapReduce作业运行第三方配置文件的共享方法

其实MapReduce作业运行第三方配置文件的共享方法往小了说其实就是参数在MapReduce作业中的传递,往大了说其实就是DistributedCache的应用. 在MapReduce中传递参数普遍用Configuration,Configuration是一个键值对,将所需的参数值表示成键值对(键值对为字符串类型),调用Configuration的set方法就保存进去了,用的时候调用get方法. 这是最基础的,在工作中难免遇到一些特殊的情况,比如,如何传递一个对象型参数?当你的MapReduc

Json数据的序列化与反序列化的三种常用方法介绍

以下内容是本作者从官网中看相应的教程后所做的demo,其体现了作者对相关知识点的个人理解..作者才疏学浅,难免会有理解不到位的地方..还请各位读者批判性对待... 本文主要介绍在Json数据的序列化与反序列化的过程中我经常用到的三种工具的基本使用方法,及其他们之间 的比较...希望能够对读者们有一些帮助... 这里介绍到的三种解析与生成Json数据的方法分别是:标准JSON解析与生成方法.使用gson解析与生成JSON数据 .使用fastJsson解析与生成JSON数据. 首先,这些工具都可以到

监听器如何获取Spring配置文件(加载生成Spring容器)

Spring容器是生成Bean的工厂,我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出来放到application里,即在监听器里调用后台商品业务逻辑的方法,也就是说我们需要在监听器里获取Spring中配置的相应的bean.先把监听器创建出来: 1. 创建InitDataListener 创建一个监听器InitDataListener继承Serv

JavaScript设置获取和设置属性的方法

这篇文章主要介绍了JavaScript设置获取和设置属性的方法,学会使用getAttribute.setAttribute的用法,需要的朋友可以参考下 getAttribute 该方法用来获取元素的属性,调用方式如下所示: 复制代码代码如下: object.getAttribute(attribute) 以此前介绍的一些方法不同,getAttribute方法不属于document对象,所以不能通过document对象调用.它只能通过元素节点对象来调用. 该方法只接受一个参数,你指定要查询的属性的

SVG DOM常用属性和方法介绍

将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析器所特有的.SVG支持DOM2标准. 12.2.1  文档初始化相关 evt属性 evt表示事件本身,可以通过evt获取与当前事件相关的信息,用户可以在script中定义响应函数,进行相应的处理.它与普通JavaScript脚本中的event基本相同,只不过在普通JavaScript的脚本中简写成“e”. ownerDocument属性 通过引

利用反射机制,获取类的字段、方法、并实现简单调用

这篇文章是为之后要介绍Android的ICO框架做预备的,所以,如果想最近学习Android的ICO框架的同学,可以稍微看一下. 首先,简单介绍一下Java里面的反射. JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 不知道这样的一段解释,你能否看懂.如果更简单的说,反射就是能够根据你给出类名实例化出一个实实在在的对象.所以,对象的实例

使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法

Java提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法 获取Class类实例的方法: 类名.class 实例名.getClass() Class.forName(className) public class RefTest { @Test public void testRef(){ //Class cls = RefTest.class; //Class.forName("com.jboa.service.RefTest"); //new RefTest()