【问题标题】:Import autofill data from a file into Chrome将文件中的自动填充数据导入 Chrome
【发布时间】:2019-07-10 09:34:05
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    设置 UI 使用内部 API chrome.autofillPrivate.saveAddress (source)。

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

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 2018-03-29
      • 2018-11-29
      • 1970-01-01
      • 2020-08-23
      • 2019-04-10
      • 2019-03-10
      • 2019-07-09
      • 2015-12-27
      相关资源
      最近更新 更多