Selenium FF WebDriver 加载firebug 和设置代理
首先这次使用的webDriver for Firefox的
由于项目的原因,需要在测试的时候加载Firebug和使用vpn,加载代理
Firefox 加载代理,可以从FF菜单上看,代理分为好几种

我这里使用的是type 为2 的情况
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 2);
profile.setPreference("network.proxy.autoconfig_url", "http://proxy.myweb.com:8083"); //自动代理配置
WebDriver driver = new FirefoxDriver(profile);
如果type 为1 ,需要这么设置
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1); profile.setPreference("network.proxy.http", "proxy.domain.example.com");
profile.setPreference("network.proxy.http_port", 8080);
profile.setPreference("network.proxy.ssl", "proxy.domain.example.com");
profile.setPreference("network.proxy.ssl_port", 8080);
profile.setPreference("network.proxy.ftp", "proxy.domain.example.com");
profile.setPreference("network.proxy.ftp_port", 8080);
profile.setPreference("network.proxy.socks", "proxy.domain.example.com");
profile.setPreference("network.proxy.socks_port", 8080);
WebDriver driver = new FirefoxDriver(profile);
public class sfLogin {
static String company="autoPM2CandU";
static String user="athompson";
static String password="pwd";
public static void main(String[] args) {
// TODO Auto-generated method stub
WindowsUtils.tryToKillByName("firefox.exe");
WindowsUtils.getProgramFilesPath();
WebDriver driver=DriverFactory.getFirefoxDriver();
driver.get("https://qaautocand.successfactors.com/login");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
WebElement comp=driver.findElement(By.xpath("//*[@id='company']"));
Actions actions =new Actions(driver);
actions.sendKeys(Keys.F12).perform();//.keyUp(Keys.F12)
WebElement username=driver.findElement(By.xpath("//*[@id='username']"));
WebElement passwordHints=driver.findElement(By.xpath("//*[@id='passwordHints']"));
passwordHints.click();
WebElement pw=driver.findElement(By.xpath("//*[@id='password']"));
WebElement login=driver.findElement(By.xpath("//*[@id='loginSubmitBtn']"));
comp.sendKeys(company);
username.sendKeys(user);
passwordHints.click();
pw.sendKeys(password);
login.submit();
WebElement home=driver.findElement(By.xpath("//*[@id='8:label']"));
actions.moveToElement(home).click().build().perform();
WebElement performance=driver.findElement(By.xpath("//*[@id='10:2']"));
performance.click();
WebElement endBox=driver.findElement(By.xpath("//*[@id='tablist']/tbody/tr[2]/td/div/div/div/table/tbody/tr[3]/td[2]/a"));
endBox.click();
WebElement auditTrailButton =driver.findElement(By.xpath("//*[@id='form_list_table']/tbody/tr/td[10]/a[2]/img"));
auditTrailButton.click();
WebElement action =driver.findElement(By.xpath("//*[@id='contentBodyTable']/tbody/tr[2]/td/div[2]/div/div[2]/div/div/div[2]/div/table/tbody/tr/td/table[2]/tbody/tr[2]/td/table/tbody/tr[4]/td/table/tbody/tr[4]/td[9]"));
System.out.println(action.getText());
}
}

如果需要加载firebug
File file=new File("d:\\firebug-2.0.4-fx.xpi");//设置Firebug路径
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "proxy.domain.example.com");
profile.setPreference("network.proxy.http_port", 8080);
profile.setPreference("network.proxy.ssl", "proxy.domain.example.com");
profile.setPreference("network.proxy.ssl_port", 8080);
profile.setPreference("network.proxy.ftp", "proxy.domain.example.com");
profile.setPreference("network.proxy.ftp_port", 8080);
profile.setPreference("network.proxy.socks", "proxy.domain.example.com");
profile.setPreference("network.proxy.socks_port", 8080);
try {
profile.addExtension(file);
profile.setPreference("extensions.firebug.currentVersion", "2.0.4");//设置firebug 版本
} catch (IOException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
WebDriver driver = new FirefoxDriver(profile);
return driver;
如果需要在运行时候firebug执行
Actions actions =new Actions(driver);
actions.sendKeys(Keys.F12).perform();//使用F12调出firebug
扩展,为什么这么设置
你可以使用about:config 在Firefox里边看看

Selenium FF WebDriver 加载firebug 和设置代理的更多相关文章
- Selenium FF WebDriver运行时开启firebug的2种方式
上一次我实测FF webdriver 加载firefoxhttp://www.cnblogs.com/tobecrazy/p/3997375.html 那么问题就来了,既然能加载firebug能否在运 ...
- js不需要知道图片宽高的懒加载方法(经过实际测试,不加宽高仍然是无法正常加载的,设置height:auto,height:100%,仍然显示高度为0)
js不需要知道图片宽高的懒加载方法 懒加载是如何实现的? - 简书https://www.jianshu.com/p/e86c61468285找到一个不需要知道图片宽高的懒加载方法了(经过实际测试,不 ...
- selenium2入门 用selenium安装、加载、启用插件(一)
一:下载 下载地址是:http://docs.seleniumhq.org/download/
- selenium2 用selenium安装、加载、启用插件(一)
一:下载 下载地址是:http://docs.seleniumhq.org/download/
- selenium自动化之加载浏览器的配置文件
做seleniumUI自动化关于选用哪个浏览器方面,对于我来说,火狐浏览器只是用于定位元素,因为有firebug(注意高版本的火狐已经安装不了这个插件了),而真正执行自动化脚本用的是谷歌,感觉谷歌的速 ...
- selenium 等待页面加载完成
一.隐形加载等待: file:///C:/Users/leixiaoj/Desktop/test.html 该页面负责创建一个div <html> <head> <tit ...
- Selenium WebDriver- 指定页面加载时间
#encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...
- Selenium 的页面加载以及几种等待的问题
1. PageLoadStrategy : 当调用driver.get("https://xxxx.xxx.xxx")来访问某页面时,get方法通常会阻塞浏览器直到页面完全加载后才 ...
- python3 selenium 超时停止加载,并且捕捉异常, 进行下一步【亲测有效】
from selenium import webdriver import os import re class GetPage: def __init__(self, url_path): self ...
随机推荐
- 学习ASP.NET 5和MVC6
今天很荣幸的参加了微软开源跨平台讲座,充分认识了下一个版本的ASP.NET所带来的激动人心的特性.虽然过去已经断断续续的了解了一些ASP.NET5和MVC6与EF7的动态,但是都没有这一次来的系统化( ...
- 递推 hdu 2064
z[n] n个盘子从1到3次数 先想2个的时候 1->2 2->3 1->2 3->2 2->1 2->3 1->2 2->3 显然 要先把上面n- ...
- C#-WebForm-★★★ 分页展示 ★★★
什么是"分页展示"? 分页展示就是将庞大的数据分成若干页,每页展示若干条数据,向用户展示数据 流程:客户端浏览器向服务器发送查询请求 → 服务器从数据库查询数据 → 服务器转换成代 ...
- Mysql 中文乱码(Navicat for MySQL)
在使用Navicat for MySQL查看插入数据库的数据时,发现中文显示为乱码.搞了好久,理清思路如下: 确定mysql本身编码设置为utf8(也可以为gbk gb2312等) 用Navicat ...
- mongodb安装启动遇到的问题
好不容易下载到了mongodb,配置的时候遇到了不少问题. 下载的是解压包,不是官网的,有一个bin目录,解压到一个自己想要的目录,如d:\mongo,首先把bin复制进来,然后创建data目录,da ...
- LOL one Key
玩英雄联盟的小伙伴们快点来,犀利的工具哦,注意一点哦,放技能的时候别按空格,不然放不出来.最后说一句这几天常说的话 新年快乐.. 下载地址:http://pan.baidu.com/s/1eQzJ8l ...
- “(null)” is of a model that is not supported by this version of Xcode. Please use a different device.
ios 真机运行程序就弹出这个"(null)" is of a model that is not supported by this version of Xcode. P ...
- JKS和PKCS#12
今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密/解密实现.为了安全起见,通过非对称加密交换对称加密密钥更是不可或缺.那么需要通过什么载体传递非对称算法公钥/私钥信息?数字证书是公钥的载 ...
- 按日期切割nginx访问日志--及性能优化
先谈下我们需求,一个比较大的nginx访问日志,根据访问日期切割日志,保存在/tmp目录下. 测试机器为腾讯云机子,单核1G内存.测试日志大小80M. 不使用多线程版: #!/usr/bin/env ...
- CSS样式表
CSS样式及属性 样式标的基本概念 样式表的分类 1.内联样式表 和html联合显示,控制精确,但可重用性差,冗余多. 例:<p style="font-size:14px;" ...