我希望能够在某些情况下更改Chrome扩展程序的行为。我控制Chrome的启动,因此我可以添加任何command line flag来实现此功能(最好不要改变Chrome的行为)。
我需要在扩展程序的后台页面中提供此信息(不在内容页面中)。
我想到的一件事是添加一个环境变量,但显然是isn't directly available from the extensions context。
我尝试查看Chromium's code中的命令行开关,并认为我可以使用test-name
。
扩展程序中是否有test-name
?如果没有,是否有另一种方法将信息传递到chrome扩展名?
答案 0 :(得分:1)
无法直接向扩展程序发送信息。
您需要以某种方式使用消息传递。
例如,您可以使用Chrome Native Messaging与python脚本进行通信。
或者您可以使用web messaging从网页发布消息(可能是文件:// URL)。
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¶m2=val2
您的扩展程序可以拦截 fakeurl.com
、解析参数并导航到另一个页面。