Selenium+python-解决使用Webdrive打开Firefox不含有插件的问题

原文地址:http://www.cnblogs.com/roicel/archive/2013/03/27/2984551.html?utm_source=tuicool&utm_medium=referral

先看代码(只是一段代码):

复制代码
from selenium import webdriver

class Register(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "https://www.example.com/"
        self.verificationErrors = []
        self.accept_next_alert = true
复制代码

上面这段代码运行的时候,selenium会打开一个新的,不含有任何插件和个人证书的firefox(等同于全新安装后第一次打开的那个firefox)。

但是有些时候,我们希望selenium打开的firefox要有插件或者有已经导入的个人证书,这种情况下,上面的代码就不起作用了。

这时候,我们就会用到firefoxprofile。

首先,介绍一下FirefoxProfile。

要了解Firefox profile请访问这里,它详细解绍了Firefox proflie。在Firefox里,如何管理Firefox profile 请访问这里

既然已经了解过Firefox profile,那么来解决我上面提出的问题。

其实上面的问题很简单,就是使用selenium启动平时使用的Firefox,而不让系统去启动一个新的什么都没有的浏览器。

代码如下:

复制代码
from selenium import webdriver


class Register(unittest.TestCase):
    def setUp(self):
        self.profileDir = "\path\your\firefoxprofileDir" 
        self.profile = webdriver.FirefoxProifle(self.profileDir)
        self.driver = webdriver.Firefox(self.profile)
        self.driver.implicitly_wait(30)
        self.base_url = "https://www.example.com/"
        self.verificationErrors = []
复制代码

首先,我先定义我需要使用的profile的文件夹,然后创建一个profile,并且把profile的地址传给它,接着启动firefox的时候传入这个profile,这样,系统再打开的firefox就是我们平时使用的那个了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值