Я создаю приложение на python, которое использует браузер текущего пользователя для выполнения кода JavaScript.Для этого я создал расширение, предназначенное для работы как в FireFox, так и в Chrome, для облегчения связи между браузером и собственным приложением.
Расширение должно иметь возможность выполнять JavaScript в контексте текущегопрофиль пользователя (не в новом профиле), а работа полностью в фоновом режиме;чтобы не беспокоить пользователя, если он хочет использовать свой веб-браузер во время работы моего приложения.
Расширение вызывается при попытке перейти к предварительно определенному URL-адресу.Эта попытка навигации блокируется, и впоследствии выполняется процедура инициализации расширения.
Мои первоначальные тесты были выполнены в FireFox, и я столкнулся с множеством проблем.
- FireFox не будетПозвольте мне встроить другой запущенный экземпляр браузера в качестве подпроцесса, не запуская его в контексте другого профиля пользователя.
- FireFox не позволит мне открыть новое окно в скрытом состоянии в контекстезапущенный в данный момент экземпляр.
- Если FireFox не работает, позволяет запустить скрытый экземпляр браузера под моим приложением, но не позволяет пользователю самостоятельно создать другой экземпляр (без первого закрытия шахты).
Кроме того, я не верю, что такие решения, как tabs.hide () , являются действительными, так как документация гласит: The current active tab cannot be hidden
, что означаетЯ должен был бы создать скрытое окно, и теперь это возвращается к проблеме номер три выше.
У меня есть только туалетКед кратко на этом процессе в Chrome, но, похоже, есть много тех же проблем.Например, вы можете создать новый экземпляр Chrome, указав пользовательский каталог пользователя, но тогда я потеряю доступ к данным в сеансе текущего пользователя.
Самое простое решение - это использование FireFox / Chrome.запустить другой независимый экземпляр браузера под тем же профилем пользователя, но это не представляется возможным.
Есть ли решение моей проблемы, которое бы работало как для FireFox, так и для Chrome, оставаясь при этом перекрестным?платформа?
Спасибо.
Редактировать: Добавлено более подробное объяснение в начало сообщения.