我们正在设置以隐身模式运行的chromium浏览器的自助服务终端类型的工作站。出于开发目的,需要 redux-devtools 扩展。
我们使用脚本管理安装它。基本上上传了捆绑包和清单.json到
/usr/share/chromium-browser/extensions
在非隐身模式下,它可以工作。并且有一种方法可以使用UI(扩展程序的设置(在隐身移动中启用它。
但问题是我们无法访问这种交互,我们必须以某种方式以编程方式进行。看起来它不是某个浏览器设置,而是扩展程序。有没有办法使用 bash 或 smth 来做到这一点。类似?
没有直接的方法可以做到这一点。但是我已经设法以不那么明显的方式做到这一点。我通过直接修改首选项文件使其工作。要使其正常工作,应关闭所有 chrome 实例。此外,与其安装扩展程序,不如将其解压缩到您知道的地方。所以这是启动铬的方法
`chrome --incognito --load-extension=<path/to/unpacked/extension>`
这将在安装扩展程序的情况下启动 chrome,这意味着将创建一些首选项条目。现在我们需要修改负责在隐身模式下允许扩展的值。为此,我编写了一个小的python3脚本:
extension_incognito_enabled.py
import json
import os
import sys
google_chrome_preferences ="/home/j2ko/.config/google-chrome/Default/Preferences"
incognito_value = (False, True)[sys.argv[1] == "true"]
print("Closing all chrome instances")
os.system('killall chrome')
#As we load extension using --load-extension flag we can use path to it
field_to_compare="path"
field_value_to_compare_with="/home/j2ko/Downloads/isAllowedAccess"
jsonPreferences =""
with open(google_chrome_preferences, "r+") as jsonFile:
jsonPreferences = json.load(jsonFile)
settings = jsonPreferences["extensions"]["settings"]
for extension_name in settings:
extension_setting = settings[extension_name]
if extension_setting[field_to_compare] == field_value_to_compare_with:
extension_setting["incognito"] = incognito_value
print("Successfully modified file. Now incognito mode value is ", incognito_value)
break
with open(google_chrome_preferences, "w+") as jsonFile:
json.dump(jsonPreferences, jsonFile)
我已经使用isAllowAccess对其进行了测试。因此,为了满足您的需求,您需要修改脚本并为field_value_to_compare_with
提供适当的值(实际上等于--load-extension
值(并提供正确的google_chrome_preferences
值。 您可以将脚本用作:
extension_incognito_enabled.py true # to enable
extension_incognito_enabled.py false # to disable
如果您只有python2
只需删除print
行,它也应该可以工作。