首先这次使用的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 和设置代理的更多相关文章

  1. Selenium FF WebDriver运行时开启firebug的2种方式

    上一次我实测FF webdriver 加载firefoxhttp://www.cnblogs.com/tobecrazy/p/3997375.html 那么问题就来了,既然能加载firebug能否在运 ...

  2. js不需要知道图片宽高的懒加载方法(经过实际测试,不加宽高仍然是无法正常加载的,设置height:auto,height:100%,仍然显示高度为0)

    js不需要知道图片宽高的懒加载方法 懒加载是如何实现的? - 简书https://www.jianshu.com/p/e86c61468285找到一个不需要知道图片宽高的懒加载方法了(经过实际测试,不 ...

  3. selenium2入门 用selenium安装、加载、启用插件(一)

    一:下载 下载地址是:http://docs.seleniumhq.org/download/

  4. selenium2 用selenium安装、加载、启用插件(一)

    一:下载 下载地址是:http://docs.seleniumhq.org/download/

  5. selenium自动化之加载浏览器的配置文件

    做seleniumUI自动化关于选用哪个浏览器方面,对于我来说,火狐浏览器只是用于定位元素,因为有firebug(注意高版本的火狐已经安装不了这个插件了),而真正执行自动化脚本用的是谷歌,感觉谷歌的速 ...

  6. selenium 等待页面加载完成

    一.隐形加载等待: file:///C:/Users/leixiaoj/Desktop/test.html 该页面负责创建一个div <html> <head> <tit ...

  7. Selenium WebDriver- 指定页面加载时间

    #encoding=utf-8 import unittest import time from selenium import webdriver from selenium.webdriver i ...

  8. Selenium 的页面加载以及几种等待的问题

    1. PageLoadStrategy : 当调用driver.get("https://xxxx.xxx.xxx")来访问某页面时,get方法通常会阻塞浏览器直到页面完全加载后才 ...

  9. python3 selenium 超时停止加载,并且捕捉异常, 进行下一步【亲测有效】

    from selenium import webdriver import os import re class GetPage: def __init__(self, url_path): self ...

随机推荐

  1. 学习ASP.NET 5和MVC6

    今天很荣幸的参加了微软开源跨平台讲座,充分认识了下一个版本的ASP.NET所带来的激动人心的特性.虽然过去已经断断续续的了解了一些ASP.NET5和MVC6与EF7的动态,但是都没有这一次来的系统化( ...

  2. 递推 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- ...

  3. C#-WebForm-★★★ 分页展示 ★★★

    什么是"分页展示"? 分页展示就是将庞大的数据分成若干页,每页展示若干条数据,向用户展示数据 流程:客户端浏览器向服务器发送查询请求 → 服务器从数据库查询数据 → 服务器转换成代 ...

  4. Mysql 中文乱码(Navicat for MySQL)

    在使用Navicat for MySQL查看插入数据库的数据时,发现中文显示为乱码.搞了好久,理清思路如下: 确定mysql本身编码设置为utf8(也可以为gbk gb2312等) 用Navicat ...

  5. mongodb安装启动遇到的问题

    好不容易下载到了mongodb,配置的时候遇到了不少问题. 下载的是解压包,不是官网的,有一个bin目录,解压到一个自己想要的目录,如d:\mongo,首先把bin复制进来,然后创建data目录,da ...

  6. LOL one Key

    玩英雄联盟的小伙伴们快点来,犀利的工具哦,注意一点哦,放技能的时候别按空格,不然放不出来.最后说一句这几天常说的话 新年快乐.. 下载地址:http://pan.baidu.com/s/1eQzJ8l ...

  7. “(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 ...

  8. JKS和PKCS#12

    今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密/解密实现.为了安全起见,通过非对称加密交换对称加密密钥更是不可或缺.那么需要通过什么载体传递非对称算法公钥/私钥信息?数字证书是公钥的载 ...

  9. 按日期切割nginx访问日志--及性能优化

    先谈下我们需求,一个比较大的nginx访问日志,根据访问日期切割日志,保存在/tmp目录下. 测试机器为腾讯云机子,单核1G内存.测试日志大小80M. 不使用多线程版: #!/usr/bin/env ...

  10. CSS样式表

    CSS样式及属性 样式标的基本概念 样式表的分类 1.内联样式表 和html联合显示,控制精确,但可重用性差,冗余多. 例:<p style="font-size:14px;" ...