我们正在设置信息亭式工作站,其中铬浏览器以隐身模式运行。需要出于开发目的而具有redux-devtools扩展。
我们使用脚本在安装中进行了管理。基本上将bundle和manifest.json上传到
/ usr / share / chromium-browser / extensions
在非隐身模式下有效。并且有一种方法可以使用UI(扩展设置)以隐身方式移动它。
但是问题是,我们无法进行此交互,因此必须以编程方式进行。看起来它不是某些浏览器设置,而是扩展程序的设置。有什么方法可以使用bash或smth做到这一点。相似吗?
答案 0 :(得分:1)
没有直接的方法可以做到。但是我设法做到这一点并不明显。我通过直接修改首选项文件来使其工作。为了使其正常工作,应关闭所有chrome实例。同样,除了安装扩展程序外,也可以将其解压缩到您知道的地方。所以这是启动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)
我已经使用isAllowedAccess对其进行了测试。因此,为了满足您的需要,您需要修改脚本并为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
行,它也应该可以正常工作。