Selenium-如何从现有的Firefox配置文件导入所有设置

我需要自动化一个需要客户端SSL证书的网站。我知道这是无法使用fp.set_preference()指定的选项。我无法控制要连接的服务器,因此无法更改安全设置。

我创建了一个单独的Firefox配置文件,其中设置了必需的“受客户端密码保护的SSL证书”,并自动选择了一个证书和一些手动代理设置(SOCKS

5)。经过大量谷歌搜索后,我将代码设置如下:

from selenium import webdriver

url = 'https://www.paininneck.co.uk'

fp = webdriver.FirefoxProfile(r"""C:\Users\

<user>\AppData\Local\Mozilla\Firefox\Profiles\<Firefox>""")

driver = webdriver.Firefox(fp)

driver.get(url)

浏览器确实打开,但是,它仍在使用默认配置文件。我在其他配置文件中更改的设置均未复制。我的代码中指定的配置文件仍可以通过Firefox UI进行选择。

我希望我错过了一些简单的事情,而且一直以来谷歌搜索都没有白费!我不愿意更改为默认设置,但是在调整了默认配置文件以查看设置是否可以复制后,很明显它们不会复制,并且Selenium每次都进行了干净的复制。

亲切的问候

丰富

Python==3.6.1,

Selenium==3.4.3,

Firefox==53

gecko driver==v0.16.1

OS==Windows(Its for work dont judge me!)

回答:

使用Selenium 3.4.x,Python 3.6.1以及geckodriver v0.16.1和Mozilla Firefox

53.0,可以通过以下步骤使用现有的Firefox配置文件:

  1. 在Windows框中找到Firefox配置文件目录。例如,我的Firefox个人资料"debanjan"位于C:\\Users\\AtechM_03\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles的名称下w8iy627a.debanjan
  2. 接下来,您必须在启动时指定Firefox Profile目录的绝对路径webdriver
  3. 这是'debanjan'在我的Windows计算机上打开现有Firefox配置文件的工作代码:

要注意的是,当前的Selenium-Python绑定对于geckodriver不稳定,并且看起来是特定于体系结构的。您可以找到github

讨论并在这里合并。因此,您可能还需要在初始化

*

    from selenium import webdriver

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

profile = webdriver.FirefoxProfile('C:\\Users\\AtechM_03\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\w8iy627a.debanjan')

binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')

driver = webdriver.Firefox(firefox_profile=profile, firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")

url = 'https://www.paininneck.co.uk'

driver.get(url)

以上是 Selenium-如何从现有的Firefox配置文件导入所有设置 的全部内容, 来源链接: utcz.com/qa/408497.html

回到顶部