使用不同的Firefox配置文件

最后编辑了

概述

Firefox仅允许每个Firefox配置文件的一个运行实例。要同时执行Firefox的进一步实例,因此每个实例必须配置为使用不同的Firefox配置文件。

创建其他Firefox配置文件

步骤1 - Create the desired Firefox profiles. (Close Firefox, start cmd.exe, execute "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P (in cmd.exe) to start Firefox with the Profile Manager. Create a profile.)

第2步 - Use the profile with Firefox at least once to initialize it. ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P profile_name_here)

第3步 - Close Firefox.

第四步 - 明确切换回来“normal” profile to make it the default again. ("C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P, select profile, check Use the selected profile without asking at startup, click Start Firefox).

第5步 - Close Firefox.

第6步 - Run Squish’再次设置以再次在所有配置文件中注册所需的蜂窝扩展,包括新功能。

准备Firefox配置文件的切换

步骤1 - Create one copy of %appdata%\Mozilla\Firefox\profiles.ini for every profile that you need (including the default profile). (For example profile.ini.default, profiles.ini..squish_profile, etc.)

第2步 - In each of the copies of profile.ini move the line…

Default=1

…to the profile entry that this copy of profile.ini is meant for.

使用自定义Quish for Web包

使用带有简单补丁的Web包使用Quish“-no-remote”作为Firefox.exe的附加参数。 (这是制造Firefox所必需的 真的 切换到配置文件。当未指定时,它只指示已运行的Firefox实例显示新窗口。)请联系Squish技术支持以获取此类包。

在测试脚本中切换Firefox配置文件

简单地切换到配置文件“profiles.ini.xyz” over “profiles.ini”,然后启动浏览器。这是一个示例脚本,它是这样的:

import os.path
import shutil

def main():
    new_firefox_instance("www.froglogic.com", "squish_profile")

def new_firefox_instance(url, profile_name="default"):
    firefox_settings_dir = os.path.expandvars(r"$appdata\Mozilla\Firefox")

    ###########################
    #  ADJUST THESE FILE NAMES:
    ###########################
    profiles = {
            "default": "profiles.ini.default",
            "squish_profile": "profiles.ini.squish_profile"
        }

    # Set up desired profiles.ini file:
    source = os.path.join(firefox_settings_dir, profiles[profile_name])
    source_default = os.path.join(firefox_settings_dir, profiles["default"])
    target = os.path.join(firefox_settings_dir, "profiles.ini")
    try:
        shutil.copy(source, target)
    
        startApplication("__squish__webhook")
        loadUrl(url)

        # Restore default profiles.ini file:
        shutil.copy(source_default, target)
    except:
        # Really restore default profiles.ini file:
        shutil.copy(source_default, target)
        raise
test.py.