Làm cách nào tôi có thể xóa tất cả lịch sử web phù hợp với một truy vấn cụ thể trong Google Chrome


77

Trong Google Chrome, có thể xóa tất cả lịch sử tìm kiếm phù hợp với một truy vấn cụ thể (ví dụ: en.wikipedia.org) không?


Có thể chọn tất cả các mục trong tìm kiếm từ Lịch sử web của Google. Tôi tự hỏi liệu có thể đồng bộ hóa Lịch sử web của Google với lịch sử web của Chrome không.
Anderson Green

Có một tiện ích mở rộng có tên "Trình cập nhật cho Lịch sử web của Google" - có vẻ như tiện ích mở rộng này cho phép Lịch sử web của Google hoạt động trong Google Chrome.
Anderson Green

3
@AndersonGreen Bạn có thể vui lòng cập nhật câu trả lời được chấp nhận cho superuser.com/a/791728/84229 từ Fabricio PH. Đó là câu trả lời đúng ban đầu. Người hiện đang được chấp nhận chỉ đơn giản là sao chép câu trả lời đúng mà không ghi nhận bất kỳ tín dụng nào. Bây giờ nó đã được hoàn nguyên trở lại phiên bản gốc của nó.
người dùng

3
@AndersonGreen Bạn nên chọn Pooya 's là câu trả lời đúng, đó là cách đơn giản nhất nhanh nhất để làm điều đó. Thêm vào đó, Fabricio đang tự quảng cáo cho câu trả lời của mình, chưa hoàn thành.
LasagnaAndroid

Để làm cho nhanh: tìm kiếm và sau đó nhấn "ctrl + a" để chọn tất cả kết quả
wuppi

Câu trả lời:


60

Cập nhật tháng 1 năm 2019

Bây giờ Chrome hỗ trợ phím tắt CtrlAhoặcA


Câu trả lời gốc

Bạn có thể dùng phím tắt hacker tiêm mã JavaScript .

Bước 1 Vì lịch sử Chrome được truy vấn trong iFrame, chúng tôi phải truy cập: chrome: // history-frame / (sao chép và dán URL)

Bước 2 Thực hiện truy vấn tìm kiếm.

Bước 3 Mở bảng điều khiển Chrome ( F12hoặc CtrlShiftihoặc i) và thực hiện:

var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
  if (inputs[i].type == "checkbox"){
    inputs[i].checked = true;
  }
}
document.getElementById("remove-selected").disabled = false

Bước 4 Nhấn nút ' Xóa các mục đã chọn '.

Trên thực tế điều này xóa các yếu tố trong trang hiện tại. Tôi có thể cố gắng mở rộng nó, nhưng đó là một điểm khởi đầu tốt. Đọc toàn bộ bài viết trong blog của tôi.


3
Điều này không còn hoạt động nữa. document.getElementsByTagName ('input') đang trả về mảng trống.
dinesh ygv

2
@FovenioPH Tôi đã chạy tập lệnh bằng chrome: // history thay vì "chrome: // history-frame, đó là lý do tại sao nó không hoạt động với tôi. Nó hoạt động tốt trong khung.
dinesh ygv 21/2/2016

2
Điều đó thật tuyệt! Lúc đầu, tôi chạy nó trong một tab khác, không hoạt động (vì nhìn chung, vì lý do có thể đạt được.) Vì vậy, tôi mở lại Bảng điều khiển trong cùng một tab như chrome: // history-frame, và tất cả đều hoạt động.
Jameson

1
giải pháp rất sạch sẽ và dễ dàng
danboh

1
Giải pháp này đã lỗi thời: chỉ cần nhấn "ctrl + a"
wuppi

126

Điều đó thật đơn giản và dễ dàng.

Tìm kiếm những gì bạn muốn loại bỏ. Chọn cái đầu tiên. Bây giờ cuộn đến kết quả mới nhất. Nhấn shiftvà chọn cái mới nhất. Bây giờ tất cả các trận đấu được chọn và bạn có thể loại bỏ chúng cùng nhau.


Trong một số trường hợp, xóa địa chỉ khỏi kết quả lịch sử là không đủ để ngăn địa chỉ đó xuất hiện trong đề xuất tự động của thanh url.

Trong trường hợp đó, hãy truy cập tại đây: https://superuser.com/a/273280/121184


1
Thông tin chi tiết có tại đây: superuser.com/a/747816/85129
Anderson Green

2
Hoặc bạn có thể sử dụng phím tắt cho hacker, xem câu trả lời của tôi bên dưới;)
Fabricio PH

5
@AndersonGreen Đây là câu trả lời đúng, không phải của Fabricio.
LasagnaAndroid

Điều này là không rõ ràng. Tôi hy vọng văn bản sẽ được chọn.
dinesh ygv

1
một trong những câu trả lời cũng bao gồm điều đó (phát hiện ra sau khi đặt bình luận của tôi)
wuppi

15

Đối với các giá trị bằng chữ của "truy vấn" ...

Bạn thậm chí có thể truy vấn lịch sử Chrome của mình bằng SQL. ( Firefox cũng vậy: xem bên dưới. Tất nhiên, đường dẫn tệp thích hợp sẽ phải được thay đổi ).

Trước hết, bạn cần xác định vị trí tệp Lịch sử Chrome. Đây là, trên hệ thống của tôi, trong

C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default

mà nên dịch một cách tổng quát hơn

<USER FOLDER>\Local Settings\Application Data\Google\Chrome\User Data\Default

Trong đó, bạn sẽ tìm thấy một tập tin "Lịch sử". Đây là tệp SQLite3 và để thao tác với nó, Chrome phải được đóng lại . Nếu bạn làm cho nó lộn xộn, hãy xóa tệp Lịch sử và bắt đầu lại - giống như bạn đã xóa toàn bộ lịch sử Chrome.

Sau đó, đổi tên tệp thành History.sqlite3và cài đặt SQLiteMan (hoặc bất kỳ trình soạn thảo SQLite3 nào khác - trong Windows, nhấp đúp vào tệp thể đủ để kích hoạt đề xuất), sau đó mở tệp ( nb một số tiện ích có thể không cần đổi tên. thử mà không đổi tên trước, để tiết kiệm công việc ).

Trong bảng URLS, bạn sẽ tìm thấy các URL bạn đã truy cập. Ví dụ: tôi có thể chạy truy vấn:

SELECT * FROM urls WHERE url LIKE '%meetup%';

để xem tất cả các lần xuất hiện của 'cuộc họp' trong phần máy chủ hoặc tên đường dẫn của các URL tôi đã truy cập. Hoặc tôi có thể tìm kiếm pr0n , hoặc ... bất cứ điều gì, miễn là tôi tuân thủ cú pháp SQL .

Bạn thậm chí có thể sử dụng các thông tin khác để chạy truy vấn, ví dụ như thời gian của lần truy cập trước. Chỉ nhớ rằng bạn cần chuyển đổi ngày thành thời gian Chrome , đó là số micrô giây trôi qua từ ngày 1 tháng 1 năm Chúa 1601 của chúng tôi . Trên hộp Unix, gõ date +%ssẽ cho bạn biết số giây; nhân với một triệu, thêm 11644473600 và bạn đã hoàn thành.

Ví dụ: chọn lượt truy cập sau ngày 1 tháng 10 năm 2013:

SELECT * FROM urls WHERE ((last_visit_time/1000000)-11644473600) - 
    strftime('%s', '2013-10-01 00:00:00') > 0;

Để xóa, chỉ cần thay thế SELECT *bằng DELETEvà nhấn F9 để thực hiện truy vấn.

Bạn có thể sử dụng NOW()thay vì ngày hiện tại và bất kỳ cú pháp SQLite nào khác .

(Trong trường hợp, tệp "Lịch sử lưu trữ" lưu giữ lịch sử cuối cùng được lưu trữ bởi Chrome).

Khi bạn hoàn thành, nếu cần, đổi tên tệp thành "Lịch sử".

Tự động hóa nó: khử trùng bằng một cú nhấp chuột

Bạn cần một tiện ích SQLite dòng lệnh như sqlite3hoặc sql3tool. Sau đó, bạn viết một tập lệnh hoặc tập tin bó, sửa đổi mã bên dưới bằng các đường dẫn thích hợp (bạn không muốn xóa lịch sử của tôi để cho bạn không bị ảnh hưởng, phải không?):

# ENSURE CHROME IS CLOSED (pskill by SysInternals might be useful)
echo "DELETE * FROM urls WHERE url LIKE '%facebook%' OR url LIKE '%twitter%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"
echo "DELETE * FROM urls WHERE url LIKE '%porn%' OR url LIKE '%my-employer-is-a-moron%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"
echo "DELETE * FROM urls WHERE url LIKE ..."

Chỉ nhớ rằng đây xóa của bạn lịch sử trên của bạn thể hiện của Chrome. Ví dụ: nếu bạn sử dụng proxy và proxy đó giữ nhật ký, tất cả các URL đó sẽ vẫn có sẵn trong nhật ký .

CẬP NHẬT : Ngoài ra, nếu bạn đang sử dụng một số công cụ SQL chết não yêu cầu tệp phải có phần mở rộng rõ ràng và được biết đến, bạn sẽ phải thực hiện RENAME thích hợp trước khi bắt đầu hoạt động và một công cụ khác để đưa mọi thứ trở lại theo thứ tự khi bạn ' đã hoàn thành:

REN "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History" "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3"
echo "DELETE * FROM urls WHERE url LIKE '%facebook%' OR url LIKE '%twitter%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3"
REN "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3" "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"

Dù sao, một khi điều này được thực hiện, hãy nhân đôi biểu tượng tập lệnh và xin chào!, Lịch sử Chrome của bạn đã được khử trùng . Nó cũng hoạt động với Firefox; dấu thời gian của nó có thể nằm trong một số khung tham chiếu thời gian khác, mặc dù (có thể là Unix đơn giản), vì vậy hãy kiểm tra nước trước khi nhảy vào.

Làm thế nào về làm sạch cookie?

Bạn có thể muốn làm điều tương tự với cookie thay vì Lịch sử.

Nhưng bạn sẽ nhận thấy, trong thư mục dữ liệu Chrome, các tệp khác ngoài Lịch sử, một trong số đó có tên Cookies ... :-)

Theo dõi nâng cao

Thủ thuật SQL ở trên không giới hạn trong việc xóa. Bạn có thể sửa đổi các mục bằng UPDATElệnh; và sau khi xóa các mục không cần thiết , bạn có thể sử dụng INSERTcác macro thời gian và ngày thích hợp để Chrome tin rằng bạn đã truy cập một số URL mà bạn không thực sự truy cập hoặc không truy cập vào một số thời điểm và ngày.

Điều này có thể có ích trong những trường hợp khi vệ sinh phiên trình duyệt sẽ dẫn đến hình ảnh không thể nhìn thấy ai đó đang nhìn chằm chằm vào cửa sổ trình duyệt trống trong một thời gian rất dài và nên sử dụng một loại điều hướng nhàn rỗi. Tất nhiên, điều này giả định rằng không ai nhận thấy rằng mỗi ngày có chính xác cùng một mẫu 'điều hướng' .


Lệnh sẽ là "XÓA từ URL ..."
Anwar

3

Bằng cách giữ shift và nhấp vào hộp kiểm url đầu tiên và sau đó cuộn xuống cái cuối cùng. Điều này nói với google để chọn tất cả các bài viết ở giữa. Sau đó, bạn nhấn "xóa" và lịch sử Voila đã đi cho URL cụ thể đó


Chào mừng bạn đến với SuperUser Meron. Mặc dù điều này có thể hợp lệ, nó trùng lặp thông tin được đăng trong ít nhất hai câu trả lời khác.
bertieb

2

Để thêm vào awnser của Fabricio PH, điều này phải rõ ràng tất cả các trang kết quả cho một tìm kiếm đã cho trên trang chrome: // history-frame khi được dán vào bảng điều khiển devtools:

var clearHistoryPage, historyInterval;

historyInterval = null;

clearHistoryPage = function() {
  var i, input, inputs, len, spinner;

  // If spinner is visible a new page is still loading
  spinner = document.getElementById('loading-spinner');
  if (!spinner.hasAttribute('hidden')) {
    console.log("Waiting on load");
    return;
  }

  inputs = document.getElementsByTagName('input');
  // When no history is present 5 inputs are still present on the history frame page
  if (inputs.length <= 5) {
    console.log("Found 5 or less inputs, stopping");
    clearInterval(historyInterval);
    return;
  }

  console.log("FOUND " + inputs.length + " results, clearing");
  for (i = 0, len = inputs.length; i < len; i++) {
    input = inputs[i];
    if (input.type === 'checkbox') {
      input.checked = true;
    }
  }
  document.getElementById('remove-selected').disabled = false;
  document.getElementById('remove-selected').click();
  document.getElementById('alertOverlayOk').click();
};

historyInterval = window.setInterval(clearHistoryPage, 5000);

2

Bạn có thể truy cập chrome: // history hoặc chrome: // history-frame. Trên trang, bạn có thể bắt đầu tìm kiếm và khi tất cả các kết quả được liệt kê chỉ cần nhấn CTRL + Ađể chọn tất cả các mục hiển thị. Nhấn nó một lần nữa bỏ chọn tất cả các mục.

Với các mục đã chọn chỉ cần xóa chúng qua DELphím.


1

Không, điều đó hiện không được Chrome hỗ trợ.

Mặc dù, tiện ích mở rộng có thể yêu cầu quyền truy cập vào dữ liệu lịch sử của bạn. Vì vậy, nó sẽ có thể cho một phần mở rộng để đáp ứng nhu cầu của bạn. Bản thân tôi không biết về một phần mở rộng như vậy, nhưng một tìm kiếm nhỏ, đã khiến tôi tìm thấy phần mở rộng này:

https://chrom.google.com.vn/webstore/detail/gjieilkfnnjoihjjonajndjldjoagffm

Có thể phần mở rộng đó có thể làm những gì bạn yêu cầu.


2
Câu trả lời này đã lỗi thời - hãy xem cái này hoặc cái này
Garrulinae

Tôi cũng không thể xóa nó, xin lỗi
Steven Roose

Điều đó tốt - tôi chỉ chỉ ra cho người xem trong tương lai.
Garrulinae

Điều đáng buồn là tôi mất đại diện cho điều này: p
Steven Roose

Không cần gia hạn, kiểm tra câu trả lời của tôi :)
Fabricio PH

1

Chỉ cần sử dụng Chrome với url: chrome: // history / # e = 1 & p = 0

Bạn có thể phải sao chép / dán nó vào thanh url của bạn.


1

Trong thanh Chrome, hãy thử tìm kiếm mục lịch sử bạn muốn xóa. Khi nó xuất hiện trong kết quả, cuộn xuống bằng phím mũi tên (ngay cả khi đó là mục đầu tiên trong danh sách) và nhấn Shift + Delete.


1

Nếu bạn bắt gặp chủ đề này từ google, có một cách dễ dàng hơn để xóa nhiều mục ngay bây giờ.


phương pháp này không hoạt động
Woeitg

1

Nhập url bạn muốn xóa trong tab lịch sử như trong ảnh chụp màn hình bên dưới, chuyển đổi bảng điều khiển dành cho nhà phát triển (mac: opt + cms + i) và chọn thành <iron-listphần. Sau đó chuyển đổi bảng điều khiển js (esc) và nhập mã sau vào bảng điều khiển:

$0.querySelectorAll('history-item').forEach(_ => _.root.querySelectorAll('cr-checkbox').forEach(_ => _.click()))

Nó nên chọn tất cả các yếu tố có thể nhìn thấy. Nhấp vào xóa và lặp lại cho đến khi danh sách trống hoặc chrome gây ra lỗi lạ.

tab lịch sử


1

Bạn có thể mở menu Chrome - sau đó chuyển sang lịch sử - nếu bạn cần xóa tất cả các lượt truy cập vào trang web cụ thể để bạn đặt tên miền trong tệp được yêu cầu hoặc nhấn ba dấu chấm ở bên phải từ tên miền bắt buộc nếu bạn tìm thấy nó thủ công và chọn tất cả các đầu vào liên quan đến miền này - nhấn lịch sử sạch. Có lẽ bạn có thể tìm thêm thông tin liên quan đến câu hỏi của bạn tại đây rocketfiles.com


0

Sử dụng tiện ích mở rộng này trong Google Chrome: Lịch sử

Đó chính xác là những gì tôi đang tìm kiếm ... nó làm cho lịch sử xóa vv giống như firefox tức là nhanh và mượt mà. Nếu bạn có hơn 2000 dấu lịch sử cho các trang web như amazon.com, trình xem lịch sử chrome của Google sẽ mất nhiều thời gian (đi từng trang), nhưng trong cửa sổ lịch sử firefox (hoặc sử dụng chrome extn đã đề cập ở trên), bạn có thể chọn tất cả 2000 và xóa chỉ trong một bước


Nó hiển thị 404 trên liên kết đó
Anwar

0
  • mở chrome:historyvà tìm kiếm (các) trang web mà bạn muốn xóa.
  • mở giao diện điều khiển chrome của bạn với ctrl-shift-j.

  • nếu có thể, đảm bảo rằng danh sách thả xuống ngay phía trên bảng điều khiển đọc history (history-frame)và không, top,v.v.

  • chạy đoạn mã sau trong bàn điều khiển:

$$('input[type=checkbox]').forEach(el => el.checked = true); $("remove-selected").disabled = false;


0

Nếu mã của Fabricio không phù hợp với bạn, tôi thấy rằng mã này đang hoạt động và nhấp vào nút "loại bỏ đã chọn" cho tôi, vì vậy điều duy nhất tôi phải làm là nhấp vào hộp thoại xác nhận.

document.querySelectorAll('.entry-box input[type="checkbox"]').forEach(function(input) {
  input.checked = true;
});

document.getElementById("remove-selected").disabled = false
document.getElementById("remove-selected").click()

0
  1. Nhấp vào hộp kiểm đầu tiên.
  2. Cuộn xuống cuối trang.
  3. Giữ shift và nhấp vào hộp kiểm cuối cùng.
  4. Tất cả các hộp kiểm sẽ được chọn; Cuộn lên trên cùng, nơi có nút "Xóa các mục đã chọn".
  5. Nhấn vào nút. Các mục đã chọn sẽ bị xóa :)

Chào mừng đến với siêu người dùng. Tôi muốn đề xuất rằng những câu hỏi như thế này không phải là tốt nhất để trả lời! Các câu trả lời khác đã có các tùy chọn về cách thực hiện việc này bao gồm phương pháp của bạn.
Lister

0

Sử dụng như sau:

function hasText(a){
    if(a.innerText){
        return true}
    else{
        return false}
}

function isCheckbox(element){
    if(element.type=='checkbox'){
        return true
    }
}

function removeItemsofQuery(query){
    var element=document.getElementsByClassName('entry-box')
    var checkbox=[]
    var titles=[]
    for(i=0; i<element.length; i++){
        var children=element[i].children
        for(j=0; j<children.length; j++){
            if(hasText(element[i].children[j])==true && element[i].children[j].className!="time" ){
                var ds=element[i].children[j].innerText
                titles.push(ds)
            }
            if (isCheckbox(element[i].children[j])==true){
                var hg=element[i].children[j]
                checkbox.push(hg)
            }
        }
        }

    for(g=0; g<element.length; g++){
        var queries=titles[g].indexOf(query)
        if(queries>0){
            checkbox[g].checked=true
        }
    }
    var RS=document.getElementById('remove-selected')
    RS.disabled=false
    RS.click()
}

Đặt nó vào bảng điều khiển trình duyệt chrome một trang FRAME lịch sử . Không phải lịch sử thường xuyên, mà là lịch sử KHUNG . Sau đó, gọi hàm removeItemsofQueryvà nhập cụm từ bạn muốn tìm kiếm và xóa làm đối số. Nhấn Enter và nhấn nút xóa cuối cùng. Sau đó, bạn đã hoàn tất. Xin chúc mừng.


0

Bắt đầu viết cụm từ mà bạn muốn tìm kiếm, khi cụm từ không mong muốn xuất hiện, sử dụng mũi tên lên và xuống để đi đến cụm từ đó và nhấn Shift + Delete.


0
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function selectAll() {
    var count = 0;
    var inputs = document.getElementById("history-app").shadowRoot.getElementById("history").shadowRoot.getElementById("infinite-list").children;

    for (var i = 1; i < inputs.length; ++i) {

        if (inputs[i].shadowRoot.getElementById("checkbox").getAttribute('aria-checked') == "false") {
            inputs[i].shadowRoot.getElementById("checkbox").click();
            count++;
            await sleep(20);
        }
    }
    if (c > 0) selectAll()
}
selectAll()

1
Vui lòng giải thích (bằng từ tiếng Anh ) làm thế nào điều này trả lời câu hỏi.
G-Man

Truy cập chrome: // history, tìm kiếm những gì bạn muốn, mở Chrome Console, sao chép và dán mã ở trên để chọn tất cả
konstruktor

0
// Tested on Chrome Version 72.0.3626.119 (Official Build) (64-bit)
// 1) Open Chrome browser history.
// 2) Search for specific history you want to delete.
// 3) Cut-and-paste the code below in the Chrome Browser console.
// Enjoy!

(function (){
let historyApp = document.getElementById("history-app");
historyApp.items[0].selectAllItems();

// Delete history with a popup confirmation prompt
historyApp.deleteSelected();

// Delete with no prompt
// historyApp.items[0].deleteSelected_()  

})();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.