我刚开始编写chrome扩展程序。现在我遇到了障碍。据我所知,所有chrome数据都存储在名为WEB DATA的SQLite数据库中。
现在基于omnibar中的一些输入,我需要在此WEB DATA中的表中插入一些记录。
你知道如何在打开chrome时以编程方式完成这项工作吗?因为我们可以选择 - >管理搜索引擎 - >并在底部添加一个新的搜索引擎。 chrome如何在幕后做到这一点?
提前致谢!
答案 0 :(得分:0)
据我所知,Chrome运行时无法直接编辑文件。尝试使用sqlite3.exe返回“数据库已锁定”错误。
有关如何添加搜索引擎的详细信息,请参阅my answer here
答案 1 :(得分:0)
下载并解压缩sqlite-tools-win32-x86-3240000.zip。
首先,在Google Chrome中添加搜索提供商:
打开Windows命令提示符(cmd.exe)。键入以下命令:
sqlite3.exe "%LOCALAPPDATA\Google\Chrome\User Data\Default\Web Data"
(而#34; web Data"是实际的sqlite-database文件)
使用sqlite打开文件。现在键入以下命令将搜索引擎导出到.CSV文件:
sqlite> .headers on
sqlite> .mode csv
sqlite> .output C:/keywords_table.csv
sqlite> SELECT * FROM keywords;
sqlite> .quit
打开.CSV文件并注意最后一行: 6,DuckDuckGo,duckduckgo.com,https://duckduckgo.com/favicon.ico,https://duckduckgo.com/?q=的{searchTerms},0,"",13173455944766115,0,"""&#34 ;, 0,0,13173455944766115,2bb9a9bf-8921-421a-89b4-06deeaaf0742,[],""""""" """,0
使用.CSV文件中的信息将新搜索引擎添加到谷歌浏览器(再次从Windows命令提示符):
sqlite3.exe "%LOCALAPPDATA%\Google\Chrome\continuousUpdates\User Data\Default\Web Data" "INSERT INTO keywords VALUES(6,'DuckDuckGo','duckduckgo.com','https://duckduckgo.com/favicon.ico','https://duckduckgo.com/?q={searchTerms}',0,'',13173455944766115,0,'','',0,0,13173455944766115,'2bb9a9bf-8921-421a-89b4-06deeaaf0742','[]','','','','','',0);"
请注意,我已将所有双引号替换为单个qoutes,并将所有字符串值也放在单个qoutes中。
启动Google Chrome并检查" chrome:// settings / searchEngines"如果新搜索引擎出现在列表中"默认搜索引擎"或"其他搜索引擎"