zoukankan      html  css  js  c++  java
  • Selenium解决使用Webdrive打开Firefox不含有插件的问题(python)

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

    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就是我们平时使用的那个了。

  • 相关阅读:
    ThinkJava-复用类
    ThinkJava-访问权限控制
    ElasticSearch 5.0及head插件安装
    安装Elasticsearch5.0 部署Head插件
    Elasticsearch 5.1.1 head插件安装指南
    使用logstash+elasticsearch+kibana快速搭建日志平台
    logstash使用操作部分
    ELK 集中日志分析 windows部署实战
    关于异步,同步,阻塞与非阻塞
    Zookeeper的集群配置和Java测试程序
  • 原文地址:https://www.cnblogs.com/roicel/p/2984551.html
Copyright © 2011-2022 走看看