Exclusão do histórico de pesquisas do Chrome com Javascript

Um defeito principal na história do Google Chome é que ele não fornece uma maneira simples e prática de excluir todos os itens com base nos resultados da pesquisa, e isso confunde um pouco.

Tentei construir minha própria solução, e como o chome usa a interface html nos painéis de configuração foi fácil brincar com a interface manipulando os elementos DOM usando javascript e com a ajuda das ferramentas de desenvolvimento.

Primeiro, abri a torneira de histórico que tem o url chome: // history e procurei todas as páginas relacionadas a “blá, blá, blá” que já abri.
Tentei selecionar todas as caixas de seleção da página com a função de consulta $$ implementada nas ferramentas de desenvolvimento, essas caixas de seleção têm um id com o prefixo “checkbox-” e um atributo de tipo que tem o valor “checkbox”, então usei o atributo type como seletor na consulta:

var chkboxes = $$("[type='checkbox']");

infelizmente, retornou nulo. Mais tarde, descobri que os painéis chome são emoldurados por vários, nos quais os dados do histórico são mantidos em um quadro separado, e é por isso que não pude marcar as caixas de seleção da página atual, pois existem em uma subpágina. Ao inspecionar a fonte da página, você pode descobrir que o verdadeiro url da página do histórico é chrome: // history-frame

abra essa página e tente novamente o seletor

var chkboxes = $$("[type='checkbox']");

Ok, funciona, consegui os elementos que queria, mas era um objeto nodeList que é difícil de iterar, então converti isso em uma matriz

var chkboxes = [].slice.call($$("[type='checkbox']"));

e para cada elemento eu queria marcar a caixa de seleção, então mudei seu valor verificado para verdadeiro

chkboxes.forEach(function(item){
item
.checked=true;
});

mas o botão remover está desabilitado, podemos habilitá-lo desmarcando e marcando uma caixa de seleção, agora você pode pressionar o botão “Remover itens selecionados”.

Para quem acha que usar o mouse é muito lento e lento, basta apertar o botão via javascript.
Habilite o botão que tem o id “remove-selected”:

var button = document.getElementById('remove-selected');
button
.disabled = false;

dê um clique:

button.click();

oh, ainda há esta caixa de diálogo de confirmação, vamos programá-la, sabendo que o botão “Remover” tem o id “alertOverlayCancel” -e cancelar o id do botão “alertOverlayOk” … wat? –

document.getElementById('alertOverlayCancel').click()

Hooray! tudo se foi !

Vamos juntar tudo,

function removeThemAll($$){
//Check all checkboxes
[].slice.call($$("[type='checkbox']")).forEach(
function(item){item.checked=true;
});
//Enable and click remove all button
var button = document.getElementById('remove-selected');
button
.disabled = false;
button
.click();
//Confirm the removing request
document
.getElementById('alertOverlayCancel').click();
}

Espero que você ache isso útil!

Por último, quero dizer …
TODOS SAUDAM JAVASCRIPT!