Как программно инициализировать профиль Firefox - PullRequest
0 голосов
/ 24 октября 2019

Я хочу программно инициализировать профиль Firefox, чтобы были созданы все файлы, которые обычно создаются при первом запуске Firefox.

Я пытался использовать firefox -CreateProfile, но он только создает папку и файл times.json. Мне нужен полный профиль. Что мне, вероятно, нужно сделать, это запустить и закрыть Firefox с помощью Python, но я не могу заставить Firefox закрыться.

Я использую subprocess.Popen, поэтому я могу получить pid, чтобы позже закрыть Firefox с помощью proc.terminate(), ноэто не работает. Процесс pid больше не найден. Возможно, это как-то связано с многопроцессорностью Firefox?

import os
import subprocess
import time

profile_name = 'new_profile'
profile_path = f"C:\\Users\\user\\profiles\\{profile_name}"

os.system(f'firefox -CreateProfile "{profile_name} {profile_path}" -no-remote')
proc = subprocess.Popen(['firefox', '-profile', profile_path, '-no-remote'])
print(f"Pid: proc.pid")
time.sleep(3)
proc.terminate() # Not working
time.sleep(1)
os.system(f"taskkill /F /pid {proc.pid}") # Process not found

Запуск сценария и подтверждение с помощью taskkill процесс на исходном pid больше не найден:

Pid: 16472
ERROR: The process "16472" not found.

Как можноЯ закрываю Firefox, используя этот подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...