回答:
それを見つけた。Chromeに保存されているすべてのパスワードをClear browsing data...
消去すると、Googleアカウントの同期されたパスワードも削除されます。設定は、[詳細設定]タブをクリックして表示できます。
すべてのChromeパスワードをクリアする最も速い方法は、次のショートカットを使用することです。
Ctrl+ Shift+Delete
[閲覧履歴の消去]ウィンドウが開きます。
[詳細設定]タブをクリックし、時間範囲を選択します。すべてのパスワードを削除する場合は、「常時」を選択します。「パスワードとその他のサインインデータ」のチェックボックスをクリックします。青いボタン「データを消去」をクリックして、待機します。
パスワードやその他のキャッシュされたアイテムを削除するのに時間がかかる場合があります(Chromeで1200のパスワードと350MBのキャッシュされたページ/画像をクリアするのに20分かかりました)。
@ bill-mcgonigleの回答に基づいて、Chromeコンソールを使用することも可能だと思います
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
for (let button of window.document.querySelectorAll('div[role=grid] > div[jsmodel] > div[role=gridcell] > div[role=button]')) {
if (typeof button != undefined) {
button.click();
sleep(3100);
}
}
これは私のために働いた、あなたがそれを最初に実行した後、Googleは再びあなたのパスワードを尋ねます。その後、私の200以上のパスワードは問題なく削除されました。
コンソールで何かを実行するリスクを理解するために、コンソールに警告があることに注意してください。上記を注意深く読み、実行内容を理解してください。
明確化:
// function to wait for 3 seconds before clicking the next delete button
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
// start a loop iteration of all buttons inside the password grid
// please note there are two grids on the page
for (let button of window.document.querySelectorAll('div[role=grid] > div[jsmodel] > div[role=gridcell] > div[role=button]')) {
// in my debugging there was one undefined button
if (typeof button != undefined) {
// click that exact button element
button.click();
// wait for 3.1 seconds
sleep(3100);
}
}
多数の特定のパスワードのみを削除したいというこのシナリオに遭遇しました。適切な代替手段が見つからないので、一度に10個を削除するKeyboard Maestroでマクロを作成しました。
chrome remove bulk passwords.kmmacros
このファイルは、セキュリティ上の目的でGoogleドライブまたはテキストエディター(.kmmacrosファイルはXML形式)で表示でき、一度に数百を削除するように簡単に変更できます。
現在のマウス位置でクリックし、下の40ピクセルをクリックし、カーソルを元の位置に戻し、さらに9回繰り返すだけです。
これが現在動作しているソリューションです(2019年中旬)。
コンソールで次のJavascriptコードを実行するか、ブックマークレットまたはChromeスニペットにします。
function contains(selector, text) {
var elements = document.querySelectorAll(selector);
return Array.prototype.filter.call(elements, function(element) {
return RegExp(text).test(element.textContent);
});
}
function simulateMouseClick(targetNode) {
function triggerMouseEvent(targetNode, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent(eventType, true, true);
targetNode.dispatchEvent(clickEvent);
}
["mouseover", "mousedown", "mouseup", "click"].forEach(function(eventType) {
triggerMouseEvent(targetNode, eventType);
});
}
function clicker() {
var list = document.querySelectorAll("c-wiz>div>ul>li");
if (document.location.href.match(/\/password\//) == null) {
simulateMouseClick(list[list.length - 1]);
} else if (contains('span', /^Delete$/).length > 0) {
var del = contains('span', /^Delete$/);
del[0].click();
setTimeout(function() {
var del = contains('span', /^Delete$/);
del[del.length - 1].click()
}, 500)
}
setTimeout(function() {
clicker();
}, 1500)
}
clicker();
実際のマウスカーソルを空けたまま、すべてのパスワードを削除するまでクリックします。
ただし、Googleから定期的にパスワードの再入力を求められるため、引き続きベビーシッターを行う必要があります。
これが永遠に機能するとは思わない。GoogleUIを変更すると、このスクリプトが壊れる。
X11システムの場合は、passwords.google.comをロードし、保存されたパスワードページでマウスを一番上のゴミ箱アイコンの上に置き、端末から次の操作を行います。
watch -n 3 xdotool click 1
ゴミ箱のアイコンの上にマウスを置くと、完了するまで次の削除されていないパスワードが削除されます。
今、Googleは各pgcセッションで5分ごとにあなたをサインアウトしているようですので、この方法は一度に100回しかできません(私の良さ、20年の保存されたパスワード...) 。Googleは、各削除イベントの間に3秒の遅延を課しているようです。ランダムな遅延とマウスの小刻みにいじってみましたが、それらは5分のタイムアウトには影響しません。
このメソッドは、「...のパスワードを保存しない」セクションでも機能しますが、そのうちのいずれかがchrome-extension://プロトコルタイプの場合はエラーになります。その場合、カーソルを1つ下に移動する必要があります。手動で。
上記のChrome側のヒントを実行してすべてのパスワードを削除しましたが、古いデバイスの電源を入れるとすぐにすべてをアップロードし直しました。:怒っている反応:
Googleがこれを非常に難しくしているのは、おそらくそれが良いアイデアだと考えるのに十分な理由です。