Webdriver启用的火狐不带插件,可以自已进行配置

先找到火狐的安装路径

C:\Program Files\Mozilla Firefox

步骤说明

在CMD中使用cd命令进入firefox.exe文件所在目录(比如:C:\Program Files\Mozilla Firefox),
并输入firefox.exe -ProfileManager -no-remote命令,然后按Enter键,
调出“Firefox – 选择用户配置文件”操作窗口

如果firefox.exe -ProfileManager -no-remote 执行弹出一个页面说找不到路径,解决方法:
在火狐的菜单“帮助”下,选择“故障排除信息”,点击后,在弹出的页面中找到“配置文件夹 ”的
选项,点击“打开文件夹”,可以获取默认配置文件的全路径。

进入mac的火狐路径:/Applications/Firefox.app/Contents/MacOS
执行:firefox -profilemanager 
新建profile

调出配置窗口,cmd下进入火狐的路径,执行命令firefox.exe -ProfileManager -no-remote

选择启动时不询问并使用选定的配置文件

可以创建配置文件

在创建的时候找到刚才做了配置的账户的路径

找到刚才做了配置的账户的路径替换到python文件里

C:\Users\Lenovo\AppData\Roaming\Mozilla\Firefox\Profiles\euhvixdt.default

#encoding=utf-8

from selenium import webdriver

from selenium.common.exceptions import NoSuchElementException

import unittest, time

class TestFailCaptureScreen(unittest.TestCase):

def setUp(self):

# 创建存储自定义配置文件的路径变量

#proPath = "C:\\Users\\wuxiaohua\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\tbbmxtkv.webdriver"

proPath = "C:\Users\Lenovo\AppData\Roaming\Mozilla\Firefox\Profiles\euhvixdt.default"

# 加载自定义配置文件到FirefoxProfile实例中,

# 等价profile = webdriver.FirefoxProfile(proPath)

profile = webdriver.firefox.firefox_profile.FirefoxProfile(proPath)

# 将添加了新配置文件的Firefox浏览器首页设为搜狗主页

profile.set_preference("browser.startup.homepage", "http://www.sogou.com")

# 设置开始页面不是空白页,0表示空白页,

# 这一步必须做,否则设置的主页不会生效

profile.set_preference("browser.startup.page", 1)

# 启动带自定义配置文件的Firefox浏览器

self.driver = webdriver.Firefox(executable_path="d:\\geckodriver", firefox_profile=profile)

def testSoGouSearch(self):

# 等待5秒,以便浏览器启动完成

time.sleep(5)

try:

# 找到搜狗主页搜索输入框页面元素

searchBox = self.driver.find_element_by_id("query")

# 在找到的搜索输入框中输入“光荣之路自动化测试”

searchBox.send_keys(u"光荣之路自动化测试")

# 找到搜索按钮,并点击

self.driver.find_element_by_id("stb").click()

time.sleep(10)

except NoSuchElementException, e:

print "修改带自定义配置文件的浏览器主页不成功!"

def tearDown(self):

# 退出Firefox浏览器

self.driver.quit()

if __name__ == '__main__':

unittest.main()

D:\test>python test.py

.

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

Ran 1 test in 52.252s

OK

转载来自:https://www.cnblogs.com/xiaxiaoxu/p/9206341.html

python webdriver api-对启动的火狐浏览器添加配置的更多相关文章

  1. 转:python webdriver API 之操作测试对象

    一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,以及本节中需要介绍的常对象操作.webdriver 中比较常用的操作元素的方法有下面几个: cle ...

  2. 转:python webdriver API 之简单对象的定位

    对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) , ...

  3. python webdriver firefox 登录126邮箱,先添加联系人,然后进入首页发送邮件,带附件。

    代码:#encoding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom ...

  4. Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

    在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改.从今天开始我们就慢慢从low代码一步一步的学习框架知识. 首先当我们测试环境有了之后我 ...

  5. 转:python webdriver API 之浏览器的操作

    1.1.浏览器最大化在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟 sikuli 结合,使用 sikuli 操作 flash.# ...

  6. 转:python webdriver API 之控制浏览器滚动条

    有时候 web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素, 这个时候就要控制页面滚动条的拖动, 但滚动条并非页面上的元素, 可以借助 JavaScr ...

  7. 转:python webdriver API 之浏览器多窗口处理

    有时候我们在测试一个 web 应用时会出现多个浏览器窗口的情况,在 selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的元 ...

  8. 转:python webdriver API 之调用 JavaScript

    当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操 ...

  9. 转:python webdriver API 之下载文件

    webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.要想下载文件,首选要先确定你所要下载的文件的类型.要识别自动文件的下载类型可以使用 curl ,如图 ...

随机推荐

  1. Vue学习之路---No.3(分享心得,欢迎批评指正)

    同样的,我们先来回顾一下昨天学习的内容: 1.利用v-once来组织双向绑定 2.filter{}过滤器的使用(详情请看上一章) 3.computed(计算属性),利用computed属性实现filt ...

  2. empty和isset区别

    isset判断变量是否已存在(配置) unset把变量删除(释放)掉 empty 判断变量是否为空 is_null 判断变量是否为NULL is_null,我们可以把它看成是!isset,是isset ...

  3. ubuntu window 10 双系统

    https://rufus.ie/ U盘制作工具 http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso   ubuntu ...

  4. WebSphere应用程序更新方式

    在日常的使用中,一个javaee程序部署以后,以后续的使用中会有模块等的更新,但我经常见到有人直接更新服务器上的类包,文件等,(可能是tomcat,jboss这种热部署使用惯了)这样子的方式有几个问题 ...

  5. Log4j2 简介

    介绍 Log4j2是Log4j的升级版,与之前的版本Log4j 1.x相比.有重大的改进,修正了Logback固有的架构问题的同事,改进了许多Logback所具有的功能. 特性 一.API 分离 Lo ...

  6. REST AND SOAP

    REST,即Representational State Transfer的缩写.直接翻译的意思是"表现层状态转化".它是一种互联网应用程序的API设计理念:URL定位资源,用HT ...

  7. redis(一主两从三哨兵模式搭建)记录

    转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...

  8. Centos 7 磁盘阵列配置介绍(RAID)

    转自:https://blog.51cto.com/gaowenlong/2086918 Centos 7 磁盘阵列配置介绍每当我们提到磁盘阵列,相信广大管理员并不陌生,比如我们一般安装服务器系统的时 ...

  9. delphi idhttp post 普通提交乱码处理

    var IdHTTP1:TIdHTTP; postStream : TStringStream; Wstr:WideString; res:WideString; begin IdHTTP1 := T ...

  10. 继承 派生 super()经典类 新式类

    '''1什么是继承? 继承一种新建类的方式,在python中支持一个儿子继承多个爹 新建的类称为子类的或者派生类 父类有可以称为基类或者超类 子类会‘遗传’父类的属性 2 为什么要用继承 减少代码冗余 ...