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

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案1】:

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

    转到chrome://settings/addresses 打开开发工具控制台 粘贴并运行以下代码,在右上角添加一个输入按钮,您可以在其中选择 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 中列出

【讨论】:

以上是关于将文件中的自动填充数据导入 Chrome的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 Chrome 存储的自动填充数据?

Chrome 自动填充不正确的数据类型

意外的 Chrome 自动填充行为 [禁用 chrome 自动填充]

从脚本自动填充 Access 数据库

如何防止 chrome 自动填充表单中的每个字段?

有没有办法为角度表单字段禁用 chrome 自动填充选项