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!