将信息从命令行传递到Chrome扩展程序

时间:2016-01-06 09:11:45

标签: google-chrome google-chrome-extension command-line-arguments chromium

我希望能够在某些情况下更改Chrome扩展程序的行为。我控制Chrome的启动,因此我可以添加任何command line flag来实现此功能(最好不要改变Chrome的行为)。

我需要在扩展程序的后台页面中提供此信息(不在内容页面中)。

我想到的一件事是添加一个环境变量,但显然是isn't directly available from the extensions context

我尝试查看Chromium's code中的命令行开关,并认为我可以使用test-name

扩展程序中是否有test-name?如果没有,是否有另一种方法将信息传递到chrome扩展名?

2 个答案:

答案 0 :(得分:1)

无法直接向扩展程序发送信息。

您需要以某种方式使用消息传递。

    from selenium import webdriver

    driver = webdriver.Chrome('/path/to/chromedriver')
    driver.get('file:///some/page.html')
    driver.execute_script('chrome.runtime.sendMessage("extensionID", "message");')
    driver.quit()

答案 1 :(得分:1)

类似的问题已经回答了 here。 如果您控制 Chrome 的启动,您可以使用假网址将参数传递给扩展程序:

chrome.exe http://fakeurl.com/?param1=val1&param2=val2

您的扩展程序可以拦截 fakeurl.com、解析参数并导航到另一个页面。