前言

由于使用selenium3,故启动firefox浏览器时已经不能像以前那样不需要driver就可以启动了,需要添加driver,driver名称为geckodriver.exe,下载地址:https://github.com/mozilla/geckodriver/releases

启动firefox浏览器

1、设置驱动

如前言所述,由于selenium3更新,导致现在启动firefox也需要设置驱动。但是由于以前的firefox启动时时不需要的,所以现在对于不同版本的firefox浏览器启动方式有所不同。本教程使用windows10,故linux和mac上启动firefox有何不同还需要研究;
对于47以上版本的firefox浏览器,使用如下代码:

System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe")

对于47版本及以下版本的firefox浏览器,则使用如下代码:

System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");

2、简单启动firefox

此处启动firefox不需要加任何参数,简单的启动方式如下:

public static void main( String[] args ){System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");FirefoxDriver firefox = new FirefoxDriver();firefox.get("https://www.baidu.com/");}

3、firefox定制启动之带FirefoxOptions

基本方法如下:

FirefoxOptions options = new FirefoxOptions();
FirefoxDriver firefox = new FirefoxDriver(options);

如上的options

(1)、添加启动参数

此项和chrome浏览器类似,基本使用方法为:

FirefoxOptions options = new FirefoxOptions();
options.addArguments("-devtools");
FirefoxDriver firefox = new FirefoxDriver(options);

当然addArguments方法可以添加一个命令列表,也可以添加多个命令,如下:

FirefoxOptions options = new FirefoxOptions();
options.addArguments("-devtools", "-tray");//连续添加多个
List<String> list = new ArrayList<String>();
list.add("-safe-mode");
options.addArguments(list);//添加命令列表
FirefoxDriver firefox = new FirefoxDriver(options);

如下为一些可用的启动命令及其含义:

  • -headless – 无边框模式启用 Firefox。最低要求的版本是Linux 为 Firefox 55,Win 和 Mac OS X 则是 Firefox 56。和直接设定headless模式效果形同
  • -new-tab URL – 在 Firefox 新建一个标签页打开指定的 URL。
  • -new-window URL – 在 Firefox 新建一个窗口打开指定的 URL。
  • -private – 始终在隐私浏览模式启动 Firefox。
  • -private-window – 新建一个隐私模式窗口。
  • -private-window URL – 新建一个隐私模式窗口打开指定的 URL。如果已经有隐私模式窗口打开,则在此窗口打开这个 URL。
  • -search term – 使用 Firefox 默认的搜索引擎进行搜索。
  • -url URL – 新建一个标签页或窗口打开指定的 URL。可以不添加 -url 字段,如指定多个 URL,则 URL 之间空格分隔。(一些恶意软件经常会篡改这个参数来每次启动时打开特定页面)。
  • -safe-mode – 安全模式启动 Firefox,或者按住 Shift 键打开 Firefox 也可以。
  • -devtools – 启动 Firefox 时打开开发工具。
  • -inspector URL – 使用 DOM 查看器查看指定的页面。
  • -jsconsole – 启动 Firefox 时打开浏览器控制台。
  • -tray – 启用 Firefox 时最小化。
    如果要看详细的启动参数,则可以在如下链接中去看:
    英文版:https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options
    中文版(不及英文版新):https://developer.mozilla.org/zh-CN/docs/Mozilla/Command_Line_Options

(2)、Headless模式启动

这个headless模式与chrome浏览器的该模式相同,即不打开浏览器GUI但是可以正常运行脚本,属于隐藏启动模式,使用代码如下:

public static void main( String[] args ){System.setProperty("webdriver.gecko.driver", "D:\\test\\driver\\geckodriver.exe");FirefoxOptions options = new FirefoxOptions();options.setHeadless(true);//此处设置headless模式FirefoxDriver firefox = new FirefoxDriver(options);firefox.get("https://www.baidu.com/");String title = firefox.getTitle();System.out.println(title);firefox.quit();}

结果:

(3)、设定firefox.exe启动

和chrome不一样firefox.exe可以安装多个不同版本的在同一台电脑上,所以有时候我们可以启动不同的火狐浏览器,方法为设定firefox.exe的路径即可,使用方法setBinary,如下所示:

public static void main( String[] args ){System.setProperty("webdriver.gecko.driver", "D:\\test\\driver\\geckodriver.exe");FirefoxOptions options = new FirefoxOptions();options.setBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe");//设定启动的获取浏览器的firefox.exe的路径;FirefoxDriver firefox = new FirefoxDriver(options);firefox.get("https://www.baidu.com/");String title = firefox.getTitle();System.out.println(title);firefox.quit();}

(4)、增加性能设定

此处类似chrome浏览器的添加设置,使用基本方法如下:

FirefoxOptions options = new FirefoxOptions();
options.addPreference(key, value);
FirefoxDriver firefox = new FirefoxDriver(options);

(5)、添加用户设置

此处可以添加用户自定义的设置,基本使用方法如下:

FirefoxOptions options = new FirefoxOptions();
ProfilesIni allProfile = new ProfilesIni();
FirefoxProfile profile = allProfile.getProfile("default");//此处default为用户自定义设置的名称,获取其他设置的名称;
FirefoxDriver firefox = new FirefoxDriver(options);

此处如果使用default则是使用用户自定义设置,类似chrome的options.addArguments("--user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");

(6)、添加代理

此处与chrome添加代理相同,此处不再复数;

(7)、启动时附加组件

如果想要在浏览器启动时附加组件,则需要使用添加profile的方法,先自定义一个新的profile,而后在selenium启动firefox时配置加载此profile即可;

FirefoxOptions options = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile(profileDir);
options.setProfile(profile);
FirefoxDriver firefox = new FirefoxDriver(options);

【selenium3+JAVA】界面自动化测试教程(一)——浏览器启动之firefox浏览器的启动相关推荐

  1. python selenium自动化面试_18年selenium3+python3+unittest自动化测试教程(上)

    第一章 自动化测试课程介绍和课程大纲 1.自动化测试课程介绍 简介:讲解什么是自动化测试和课程大纲讲解,课程需要的基础和学后的水平 python3.7+selenium3 pycharm 第二章自动化 ...

  2. java界面编辑教程_java程序设计基础教程第六章图形用户界面编辑.docx

    java程序设计基础教程第六章图形用户界面编辑.docx 还剩 27页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要 ...

  3. 【selenium3+JAVA】界面自动化测试教程(一)——浏览器的启动之IE浏览器的启动

    前言 同chrome.firefox,ie浏览器的启动一样需要driver,但是IEDriver不像chromeDriver一样有多个版本,不同版本对应不同的chrome版本,它只有32位版本和64位 ...

  4. python selenium操作打开的浏览器_Python_Selenium操作Firefox浏览器

    一.打开网址 方法说明:webdriver.Firefox()用于创建一个火狐浏览器的webdriver driver.get(url)用户打开固定的网址 实例如下: self.driver = we ...

  5. selenium中启动firefox浏览器时设置代理、加载配置文件、加载某个插件以及firefox没有安装在默认路径下的代码写法

    selenium 中启动firefox浏览器的六种方式,所用的是java 1.如果浏览器没有安装在默认路径下,则用 System.setProperty("Webdriver.firefox ...

  6. Jmeter工具笔记-使用Firefox浏览器导入证书并录制Web

    此文使用很久以前的版本做的笔记,记录如何实现录制Firefox浏览器. 1.下载Firefox浏览器并安装成功 2.操作Jmeter: 1)新建Template为'Recording' 2)打开HTT ...

  7. Selenium firefox浏览器修改为标签页打开方式的各种坑

    需求: 今天有位朋友遇到一个梗,selenium使用firefox打开多个网页时,firefox总是以新窗口的方式打开:而这位朋友的需求是以标签页的方式打开新页面. 1.新窗口方式: 2.新标签页方式 ...

  8. linux下关于浏览器的软件包,火狐浏览器Linux系统版

    <火狐浏览器Linux系统版>拥有清爽简洁页面打造的高速浏览器工具,其拥有启动快速,安全性能稳定的功效,而且操作上不容易让人感到崩溃,各种进程的架构都很优秀,属于是轻量级的强力浏览工具,安 ...

  9. python语言+selenium自动化,编写脚本调用Chrome、Firefox浏览器打开百度网站

    python语言+selenium自动化,编写脚本调用Chrome.Firefox浏览器打开百度网站 目标:初始化一个webdriver实例对象driver,通过webdriver.Chrome()和 ...

最新文章

  1. ios xmlrpc
  2. Android实现文字一个一个显示出来
  3. String类和StringBuffer类的区别
  4. 北邮OJ 255. 奇偶求和-软件14 2014年北京邮电大学软件工程学院研究生复试
  5. Boost:双图bimap的修改和替换测试程序
  6. lstm需要优化的参数_LSTM的物理结构和一些细节
  7. shell的if-else的基本用法
  8. xutils找id报空指针异常
  9. 字节跳动面试:kafka配置参数
  10. 在局域网中用联通的3G无线上网卡后的静态路由的命令行
  11. java学习视频 java常用23种设计模式
  12. 阅读-《金字塔原理》
  13. PMP-36项目风险管理
  14. Android管理cookie,Android中的cookie管理简介
  15. Docker修改默认网段
  16. 全方位构建信创生态体系,焱融科技完成海光 CPU 生态兼容性认证
  17. vue中Echarts地图组件+城市json文件
  18. python上海培训哪里比较好-上海十大python培训机构
  19. UE4学习(一)C++编程官方文档解读
  20. STC89C52单片机AD/DA介绍与代码演示

热门文章

  1. C语言实现3个数大小比较
  2. HTML制作登录页面
  3. Kafka 认证登录注意事项
  4. 计算机毕业设计Java高校排课管理系统(源码+系统+mysql数据库+lw文档)
  5. 个人笔记本 | 网络爬虫 | requests爬虫
  6. 网络推广都有那些平台
  7. win10专业版没有触摸板选项_win10移动鼠标或触控板都没有任何反应如何解决
  8. 生活篇之工资和年终奖的纳税
  9. mount ntfs分区和配置xmms手记(转)
  10. 互动直播系统源码 直播系统源码