首页 > 解决方案 > 阻止 selenium 在每次启动时创建新的 Firefox 配置文件

问题描述

我正在使用一个朋友的代码,该代码每次启动都会创建一个新的 Firefox 配置文件,我想使用我自己的配置文件,而不是新的配置selenium文件yaml

这是代码的一部分,我一直在搜索并尝试一切来解决问题,但我不知道该怎么做:

from selenium.webdriver.firefox.options import Options
from selenium import webdriver
import yaml
import os

with open("assets/config.yaml", "r") as config:
    config = yaml.safe_load(config)

options = Options()
if config.get("settings").get("headless"):
    options.headless = True

    profile = webdriver.Firefox(executable_path=config.get("settings").get("firefox"), service_log_path=os.path.devnull if not config.get("settings").get("log") else config.get("settings").get("log"), options=options)

这是来自 config.yaml 的代码:

settings:
  headless: False
  firefox: assets/geckodriver.exe
  log: null

标签: pythonseleniumyamlfirefox-profile

解决方案


我已经将它与 Java 一起使用,所以通常你可以按照以下步骤操作:

  1. 创建一个配置文件,使用Firefox.exe -p它在“C:\Users\xUser\AppData\Roaming\Mozilla\Firefox\Profiles”中创建它作为xyz.Selenium.
  2. Python 绑定中应该有一个FirefoxProfile类。
  3. 将该文件传递给该类并使用驱动程序对象中的配置文件对象。

推荐阅读