В пользовательском интерфейсе настроек используется внутренний API chrome.autofillPrivate.saveAddress
( источник ).
- Перейти к
chrome://settings/addresses
- открыть консоль devtools
- вставьте и запустите приведенный ниже код, который добавляет кнопку ввода в верхнем правом углу, где вы можете выбрать файл CSV:
for (const el of document.querySelectorAll('body > input'))
el.remove();
Object.assign(document.body.appendChild(document.createElement('input')), {
type: 'file',
style: 'position:absolute; top:2ex; right:0; z-index:999',
onchange(e) {
if (!this.files[0])
return;
const fr = new FileReader();
fr.readAsText(this.files[0], 'UTF-8');
fr.onload = () => {
for (const line of fr.result.split(/\r?\n/)) {
const [name, email] = line.split(',');
chrome.autofillPrivate.saveAddress({
emailAddresses: [email],
fullNames: [name],
});
}
};
fr.onerror = console.error;
},
});
- Для обработки заключенных в кавычки и многострочных полей в CSV вы должны изменить этот примитивный код, есть много примеров правильного синтаксического анализа CSV в JavaScript.
- Вы можете сохранить код в sntopets devtools для повторного использованияпозже.
- Вы не можете использовать этот частный API в расширении.
- Поддерживаемые поля и их типы перечислены в autofill_private.js