Aqui está algo que eu escrevi em JavaScript. Ele funciona através do Console Debugger .. Eu tentei usá-lo em um marcador, mas não obtenho resposta da página ..
** // UPDATE (07.28.15)
Eu adicionei uma abordagem mais curta fornecida pelo @Denis Gorbachev à caixa de seleção, o que ajudou a encurtar alguns desses códigos. Eu também adicionei a funcionalidade " auto-stop ", o que significa que o loop irá parar assim que finalmente tiver limpado a lista.
** // UPDATE (08.20.14)
Eu fiz algumas alterações no código, para torná-lo mais fácil de usar. Outros usuários podem não ser experientes em código, e outros podem simplesmente preferir conveniência. Por isso, apertei alguns botões (start / stop) para controlar o uso; bem como resolver algumas exceções / erros "ASSERTION FAILED" que estavam sendo lançados quando tentamos executar o loop de script. Aproveite !!
Passo 1) Na sua barra de endereço, digite o seguinte endereço para a lista da história. É normalmente carregado em um iframe, com o menu do lado esquerdo carregado em outro quadro ..
chrome://history-frame/
Passo 2) Carregue o seu Debugger / Visualizador de Console pressionando Ctrl + Deslocando + J
(Para usuários de Mac, ⌘ + ⌥ + J )
Nota: Você também pode pressionar F12 e selecionar a aba Console.
Etapa 3) No Depurador / Visualizador do Console , copie & cole o seguinte código:
function removeItems() {
removeButton = document.getElementById('remove-selected');
overlayWindow = document.getElementById('overlay');
//revision (07.28.15): Replaced the For Loop targeting the checkboxes, thanks to Denis Gorbachev via comments (02.19.15)
Array.prototype.forEach.call(document.querySelectorAll("input[type=checkbox]"), function(node) {node.checked = "checked"});
setTimeout(function () {
if (removeButton.getAttribute("disabled") !== null) {
removeButton.removeAttribute("disabled")
}
/* revision (08.20.14): no longer binding to that condition, button should no longer be disabled, so click! */
if ((overlayWindow.hasAttribute("hidden")) && (overlayWindow.getAttribute("hidden") !== false)) {
removeButton.click();
}
/* revision (08.20.14): new Interval, to check against the overlay DIV containing the confirmation "Remove" button */
/* Attempting to click the button while the DIV's "hidden" attribute is in effect will cause FAILED ASSERTION */
stopButton = setInterval(function () {
if (overlayWindow.hasAttribute("hidden")) {
if (overlayWindow.getAttribute("hidden") == "false") {
hidden = false
} else {
hidden = true
}
} else {
hidden = false
}
if (!hidden) {
document.getElementById("alertOverlayOk").click();
clearInterval(stopButton)
}
}, 250)
}, 250)
}
//revision (08.20.14): Lets build our buttons to control this so we no longer need the console
//stop button (08.20.14)
var stopButton = document.createElement('button');
stopButton.setAttribute('id', "stopButton");
stopButton.innerHTML = "Stop";
stopButton.style.background = "#800";
stopButton.style.color = "#fff";
stopButton.style.display = "none";
stopButton.onclick = function () {
clearInterval(window.clearAllFiltered);
document.getElementById("stopButton").style.display = "none";
document.getElementById("startButton").style.display = ""
};
//start button (08.20.14)
var startButton = document.createElement('button');
startButton.setAttribute('id', "startButton");
startButton.innerHTML = "Start";
startButton.style.background = "#090";
startButton.style.color = "#fff";
startButton.onclick = function () {
window.clearAllFiltered = setInterval(function () {
/* revision (07.28.15): Stop the Loop automatically if there are no more items to remove */
if(document.getElementById("results-header").innerText=="No search results found."){
document.getElementById("stopButton").click();
}
if (document.getElementById("loading-spinner").getAttribute("hidden") !== null) {
removeItems()
}
}, 250); //adjust Time Here (1500 [millisec] = 1.5sec)
document.getElementById("stopButton").style.display = "";
document.getElementById("startButton").style.display = "none"
};
/* revision (08.20.14): Now we add our buttons, and we're ready to go! */
editingControls = document.getElementById('editing-controls');
editingControls.appendChild(stopButton);
editingControls.appendChild(startButton);
Esta função removeItems selecionará o loop através de todas as entradas de formulário e marcará todas as caixas de seleção, habilitará o botão "Remover Itens Selecionados" e clicará nele. Após meio segundo, ele irá verificar se o prompt "Are You Sure" é exibido e, em caso afirmativo, clique no botão "Yes / Remove" automaticamente para que ele carregue uma nova lista de itens para fazer este processo. tudo de novo ..
O item é colocado em loop usando a variável "clearAllFiltered", que é um loop setInterval, que está verificando o status da tela "Carregando".
Para começar a apagar seus itens do histórico filtrado, você pode clicar no botão verde Iniciar .
** // UPDATE (28.08.2015) Parará agora em SEU PRÓPRIO.
Para interromper o loop manualmente , você pode clicar no botão vermelho Stop . Simples assim!