将文件中的自动填充数据导入Chrome

时间:2019-07-10 09:34:05

标签: google-chrome google-chrome-extension google-chrome-devtools autofill

我有一个用户的CSV文件(带有电子邮件和姓名)。 Google Chrome存储了自动填充数据,您可以在此处手动添加它们:chrome:// settings / addresses

是否可以从文件中自动导入数据?

1 个答案:

答案 0 :(得分:1)

设置界面使用内部API chrome.autofillPrivate.saveAddresssource)。

  1. 转到chrome://settings/addresses
  2. 打开devtools控制台
  3. 粘贴并运行下面的代码,该代码在右上角添加了一个输入按钮,您可以在其中选择CSV文件: enter image description here
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中带引号和多行的字段,您应该修改此原始代码,有许多示例可以正确解析JavaScript中的CSV。
  • 您可以将代码保存在devtools snippets中,以备后用。
  • 您不能在扩展程序中使用此私有API。
  • 受支持的字段及其类型列在autofill_private.js