2012-10-31 12 views
192

Tôi đang chạy Firefox trên Xvfb trong VPS. Điều tôi muốn làm là chụp ảnh toàn màn hình trang.Chụp ảnh màn hình đầy đủ với Firefox

tôi có thể chuyển hướng Firefox để trang cụ thể sử dụng

firefox http://google.com 

và chụp màn hình (bên trong X) sử dụng ImageMagick

import root -window output.jpg 

Vấn đề là, hầu hết các trang cần di chuyển và tôi có thể' t biết chiều cao trước.

Cách khác là chọn chiều cao rất lớn (như 4000px) và sau đó xử lý hình ảnh và xóa phần vô dụng. Nhưng đó là quá trình xử lý không cần thiết.

Tôi tìm thấy nhiều tiện ích bổ sung của Firefox, nhưng tôi đang tìm một giải pháp có thể được lập trình bằng dòng lệnh Shell.

Chỉnh sửa: Tôi đã kết thúc bằng văn bản của riêng mình FireFox extension để thực hiện việc này.

+1

Tôi đã xem một số công cụ cli webkit để chụp ảnh màn hình nhưng tôi không nhớ tên. –

Trả lời

431

Kể từ Firefox 16 bạn có thể nhấn shift-F2 hoặc đi Tools> Web Developer> Developer Toolbar để mở một lệnh hàng. Viết:

screenshot 

và nhấn Giới thiệu để mất một Screeshot.

Để trả lời đầy đủ các câu hỏi, bạn thậm chí có thể lưu toàn bộ trang, không chỉ là một phần hữu hình của nó:

screenshot --fullpage 

Và để sao chép các ảnh chụp màn hình vào clipboard, sử dụng --clipboard tùy chọn:

screenshot --clipboard --fullpage 

Firefox 18 thay đổi cách đối số được chuyển đến các lệnh, bạn phải thêm "-" trước chúng.

Bạn có thể tìm thấy một số tài liệu và danh sách lệnh đầy đủ here.

PS. Ảnh chụp màn hình được lưu vào thư mục tải xuống theo mặc định.

+4

Nếu bạn muốn chỉ cần sao chép ảnh chụp màn hình vào clipboard của bạn trực tiếp sử dụng ảnh chụp màn hình --clipboard --fullpage – mbokil

+1

Lệnh đó không hoạt động trong bảng điều khiển javascript, vậy có liên kết đến thông tin thêm về thanh công cụ này không? Nó có thể làm gì khác? – tremby

+4

Chỉ cần thông tin bạn cũng có thể chọn ghi chú DOM thông qua thanh tra và sau đó nhấp chuột phải vào nút - ảnh chụp màn hình'. Điều này cực kỳ hữu ích khi bạn muốn chụp màn hình một phần của trang. – Tom

7

Tôi nghĩ rằng những gì bạn đang tìm kiếm là một tiện ích cho phép bạn lưu một trang hoàn thành được mở trong trình duyệt của bạn vào tệp png. Có lẽ bạn đang tìm kiếm một tiện ích như commandlineprint2.

Sau khi cài đặt phần mở rộng, bạn chỉ cần gõ lệnh:

firefox -print http://google.com -printfile ~/foo.png 
7

Tôi đã kết thúc mã hóa giải pháp tùy chỉnh (tiện ích mở rộng của Firefox) thực hiện việc này. Tôi nghĩ rằng khi tôi phát triển nó, dòng lệnh được đề cập trong enreas không có ở đó.

Tiện ích mở rộng của Firefox là CmdShots.Đó là một lựa chọn tốt nếu bạn cần mức độ kiểm soát tốt hơn đối với quá trình chụp ảnh màn hình (hoặc bạn muốn thực hiện một số sửa đổi HTML/JS và xử lý hình ảnh).

Bạn có thể sử dụng và lạm dụng nó. Tôi quyết định giữ nó không có giấy phép, vì vậy bạn được tự do chơi với nó như bạn muốn.

+18

Hmm, đó không phải là những gì "không có giấy phép" có nghĩa là: thực sự có nghĩa là bạn không cho phép bất kỳ sự sử dụng nào, điều này rõ ràng là không đúng vì trong câu đó, bạn cũng nói rằng bạn có thể sử dụng, lạm dụng và chơi với nó như bạn muốn. Có lẽ bạn muốn một cái gì đó như [các CC0] (http://creativecommons.org/publicdomain/zero/1.0/legalcode)? – SamB

+0

Đối với những thứ "không có giấy phép" tôi thích điều này: http://www.wtfpl.net/ Nó nêu rõ những gì được cho phép mà không có BS hợp pháp. – kap

+0

@SamB Tôi tình cờ gặp phải bình luận của bạn. Vâng, tôi biết 3 năm sau. Vấn đề là nếu tôi viết một giấy phép, tôi đã phức tạp. Cách tiếp cận NOLICENSE chỉ đơn giản là công cụ. –

120

Vì Firefox 32 cũng có một full page screenshot button trong công cụ nhà phát triển (F12). Nếu không được bật, hãy chuyển đến cài đặt công cụ dành cho nhà phát triển (nút bánh răng) và chọn "Chụp ảnh màn hình đầy đủ" ở phần "Nút hộp công cụ khả dụng".

developer tools toolbar nguồn: developer.mozilla.org

Theo mặc định, ảnh chụp màn hình sẽ được lưu trong thư mục download. Điều này hoạt động tương tự như screenshot --fullpage trong thanh công cụ.

Cập nhật 2017-06-15

Tính đến Firefox 55 có Firefox Screenshots như một giải pháp linh hoạt hơn. Tính năng Firefox 57 Ảnh chụp màn hình cũng có thể chụp toàn bộ trang.

+6

Đối với những người có Firebug mở trên F12, các công cụ phát triển có sẵn với Ctrl + Shift + K hoặc Ctrl + Shift + I. Chỉ ... trong trường hợp ... ai đó chưa bao giờ sử dụng chúng trước đây. –

+0

Các phím tắt này không hoạt động trên Mac. Sử dụng Công cụ> Nhà phát triển web> Chuyển đổi công cụ. Và, vâng, nút chụp màn hình ** được ** tắt theo mặc định. Nhấp vào biểu tượng Cài đặt để bật. – Snowcrash

+0

trên Mac, bạn có thể mở công cụ nhà phát triển bằng 'cmd' +' alt' + 'i' – achairapart