Добавление пользовательской поисковой системы в Chrome - PullRequest
3 голосов
/ 29 октября 2011

Я только начал писать расширения для Chrome.Теперь я попал в блок.Я понимаю, что все данные Chrome хранятся в базе данных SQLite, которая называется WEB DATA.

Теперь, основываясь на некотором входе в омнибар, мне нужно вставить несколько записей в таблицу в этих веб-данных.

Знаете ли вы, как это можно сделать программно, когда Chrome открыт?Потому что мы можем перейти к настройкам -> Управление поисковыми системами -> и добавить новую поисковую систему внизу.Как Chrome делает это за сценой?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 15 июня 2018

Загрузите и распакуйте sqlite-tools-win32-x86-3240000.zip.

Сначала добавьте поставщик поиска из Google Chrome:

  • Щелкните правой кнопкой мыши по адресной строке и выберите «Редактировать поисковые системы ...»;
  • На странице «chrome: // settings / searchEngines» нажмите «Добавить»;
  • Введите имя поисковой системы, ключевое слово и поисковый URL (например, DuckDuckGo, duckduckgo.com, https://duckduckgo.com/?q=%s), нажмите «Добавить»;
  • Закрыть Google Chrome;

Откройте командную строку Windows (cmd.exe). Введите следующую команду:

sqlite3.exe "%LOCALAPPDATA\Google\Chrome\User Data\Default\Web Data"

(тогда как "веб-данные" - это файл базы данных sqlite)

Файл открывается с помощью 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,"","",0,0,13173455944766115,2bb9a9bf-8921-421a-89b4-06deeaaf0742,[],"","","","","",0

Используйте информацию из .CSV-файла для добавления нового поискового движка в Google Chrome (снова из командной строки 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);"

Обратите внимание, что я заменяю все двойные кавычки одиночными кавычками и помещаю все строковые значения в одинарные кавычки.

Запустите Google Chrome и проверьте «chrome: // settings / searchEngines», если новая поисковая система появляется в списке «Поисковые системы по умолчанию» или «Другие поисковые системы»

0 голосов
/ 09 мая 2012

Насколько я знаю, вы не можете напрямую редактировать файл во время работы Chrome.Попытка сделать это с sqlite3.exe возвращает ошибку «база данных заблокирована».см. мой ответ здесь для получения дополнительной информации о том, как добавить поисковую систему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...