2012-08-27 26 views
16

Tôi muốn kết xuất DOM hiện tại vào một tệp và có thể xem ngoại tuyến. Về cơ bản, tôi có một phiên bản lỗi thời của một trang mà tôi muốn giữ lại để so sánh. Ngay sau khi tôi đóng trình duyệt, tôi sẽ mất nó vì vậy tôi muốn lưu DOM chính xác như vậy.Làm thế nào tôi có thể đổ toàn bộ Web DOM trong trạng thái hiện tại của nó trong Chrome?

already an answer for doing this in Firefox nhưng làm cách nào để làm điều đó trong Chrome?

Trả lời

21

Sử dụng Trình kiểm tra web (F12), chuyển đến tab Yếu tố, nhấp chuột phải vào thẻ <html> trong mã của bạn và chọn 'Sao chép dưới dạng HTML'. Sau đó dán nó vào một tập tin mới và lưu lại.

+4

Tôi đã làm điều này tại thời điểm đăng bài nhưng tôi nghĩ có một lý do không phải là giải pháp hoàn hảo. Tôi nghĩ rằng tôi muốn lưu trình xử lý sự kiện trên DOM mà kết xuất HTML không làm. – styfle

+0

@styfle Không chắc tôi hiểu điều này. Khi bạn nhấn F12 nó là kết xuất (đúng từ ngữ?) HTML Tôi thấy, không phải là kết xuất cơ sở mà 'View Page Source' sẽ cung cấp cho bạn. Tôi theo lời khuyên của Damon và có mọi thứ tôi cần (một hộp chọn được điền bởi jquery). Nó vẫn là một cách tiếp cận rất vụng về, một trang Chọn Tất cả từ phần tử đơn giản sẽ trực quan hơn nhiều. –

+1

Chỉ cần "Sao chép" thay vì "Sao chép dưới dạng HTML". Sau đó, chỉ cần dán vào Notepad. – Karlth

2

Tôi hiện đang sử dụng phiên bản 53.0.2785.113 m của Chrome. Các câu trả lời khác dường như không còn hợp lệ nữa. Để sao chép đúng tất cả các phần tử con/con cháu, người dùng phải nhấp chuột phải vào <html> rồi nhấp vào "Mở rộng tất cả" trước khi sao chép. Khác khôn ngoan, bạn sẽ không đệ quy sao chép tất cả các yếu tố. Một Ctrl + C bình thường sẽ sao chép mọi thứ, <html> đã được mở rộng.

-1

cách ưa thích của tôi để làm điều này là:

docker run -it --rm --name chrome --shm-size=1024m --cap-add=SYS_ADMIN --entrypoint=/usr/bin/google-chrome-unstable yukinying/chrome-headless-browser --headless --disable-gpu --dump-dom https://www.facebook.com 

Nếu bạn không quen thuộc với cách Docker hoạt động, kiên nhẫn - lần đầu tiên sẽ được làm chậm nhưng lời gọi tiếp theo sẽ nhanh chóng.


Thông tin khác

Thử nghiệm trên

Ubuntu 16

Linux intel-nuc 4.4.0-21-generiC#37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 

Docker phiên bản:

Docker version 1.10.3, build 20f81dd 

Mac OS X Sierra

Darwin MacBook-Pro.local 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64 i386 MacBookPro14,3 Darwin 

Docker phiên bản:

Docker version 17.06.1-ce, build 874a737 

Nếu bạn cài đặt tidy bạn có thể thụt HTML quá.

+0

Không được giải thích. –

+0

hiện tại, docker không liên quan gì cả, bạn có đọc câu hỏi không? –

Các vấn đề liên quan