gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:16 25 4
gpt4 key购买 nike

我为什么要这样做:

我需要自动化需要客户端 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. 接下来,您必须在启动 webdriver 时指定 Firefox Profile 目录的绝对路径。
  3. 这是在我的 Windows 机器上打开现有 Firefox 配置文件 'debanjan' 的工作代码:

    It is to be noted that the current Selenium-Python binding is unstable with geckodriver and looks to be Architecture specific. You can find the github discussion and merge here. So you may additionally need to pass the absolute path of the firefox binary while initializing the webdriver

    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)

关于python - Selenium - 如何从现有的 Firefox 配置文件导入所有设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44349091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com