कमांड लाइन पर फ़ायरफ़ॉक्स के साथ एक पूर्ण पृष्ठ स्क्रीनशॉट लें


224

मैं एक VPS में Xvfb पर फ़ायरफ़ॉक्स चला रहा हूँ। मुझे जो करना है, वह पृष्ठ का पूर्ण पृष्ठ स्क्रीनशॉट लेना है।

मैं फ़ायरफ़ॉक्स का उपयोग करके विशेष पृष्ठ पर पुनर्निर्देशित कर सकता हूं

firefox http://google.com

और ImageMagick का उपयोग करके एक स्क्रीनशॉट (X के अंदर) लें

import root -window output.jpg

समस्या यह है कि, अधिकांश पृष्ठ को स्क्रॉल करने की आवश्यकता है और मैं पहले से ऊंचाई नहीं जान सकता।

दूसरा तरीका बहुत बड़ी ऊंचाई (जैसे 4000px) चुनना है और फिर छवि को संसाधित करना और बेकार भाग को निकालना है। लेकिन यह अनावश्यक प्रसंस्करण है।

मुझे कई फ़ायरफ़ॉक्स ऐड-ऑन मिले, लेकिन मैं एक समाधान ढूंढ रहा हूं जिसे शेल कमांड लाइन का उपयोग करके प्रोग्राम किया जा सकता है।

संपादित करें: मैंने ऐसा करने के लिए अपना स्वयं का फ़ायरफ़ॉक्स एक्सटेंशन लिखना समाप्त कर दिया।


1
मैंने स्क्रीनशॉट लेने के लिए कुछ वेबकिट क्ली टूल देखे हैं, लेकिन मुझे नाम याद नहीं हैं।
रूफो एल मगूफो

जवाबों:


480

डेवलपर टूलबार GCLI और Shift+ F2शॉर्टकट Firefox संस्करण 60 में हटा दिया गया है । 60 या नए में स्क्रीनशॉट लेने के लिए:

  • डेवलपर कंसोल खोलने के लिए Ctrl+ Shift+ दबाएँ K( macOS पर ⌥ Option+ ⌘ Command+ K)
  • टाइप करें :screenshotया:screenshot --fullpage

स्क्रीनशॉट और अन्य विशेषताओं के बारे में अधिक जानकारी प्राप्त करें


फ़ायरफ़ॉक्स संस्करणों के लिए <60:

प्रेस Shift+ F2या करने के लिए जाने टूल> वेब डेवलपर> डेवलपर टूलबार एक कमांड लाइन खोलने के लिए। लिखो:

screenshot

और स्क्रीनशॉट लेने के लिए Enter दबाएं ।

प्रश्न का पूरी तरह से उत्तर देने के लिए, आप पूरे पृष्ठ को भी सहेज सकते हैं, न केवल इसके दृश्य भाग को:

screenshot --fullpage

और स्क्रीनशॉट को क्लिपबोर्ड पर कॉपी करने के लिए, --clipboardविकल्प का उपयोग करें :

screenshot --clipboard --fullpage

फ़ायरफ़ॉक्स 18 कमांड के लिए तर्क पारित करने के तरीके को बदलता है, आपको उनके सामने "-" जोड़ना होगा।

आप कुछ प्रलेखन और कमांड की पूरी सूची यहां पा सकते हैं ।

पुनश्च। स्क्रीनशॉट को डिफ़ॉल्ट रूप से डाउनलोड डायरेक्टरी में सहेजा जाता है ।


4
तुम सिर्फ अपने क्लिपबोर्ड स्क्रीनशॉट कॉपी करना चाहते हैं सीधे का उपयोग स्क्रीनशॉट --clipboard --fullpage
mbokil

2
यह कमांड एक जावास्क्रिप्ट कंसोल में काम नहीं करता है, तो क्या इस टूलबार के बारे में अधिक जानकारी के लिए लिंक है? यह और क्या कर सकता है?
कंपकंपी

5
सिर्फ FYI करें आप इंस्पेक्टर के माध्यम से DOM नोट्स का चयन कर सकते हैं और फिर right-click-> screenshot node। जब आप किसी पृष्ठ के अनुभाग को स्क्रीनशॉट करना चाहते हैं तो यह सुपर सहायक है।
टॉम

5
क्लिपबोर्ड पूरे पृष्ठ स्क्रीनशॉट - screenshot --clipboard --fullpageएक विशेष नोड का स्क्रीनशॉट (आईडी द्वारा) -screenshot --clipboard --selector #elementId
मोहनीश

3
मुझे :screenshot --clipboard --fullpage(बृहदान्त्र को ध्यान में रखते हुए) इस्तेमाल करना था
someonr

134

अपडेट 2018-07-23

जैसा कि टिप्पणियों में बताया गया था, यह प्रश्न कमांड लाइन से एक स्क्रीनशॉट प्राप्त करने के बारे में था । क्षमा करें, मैं अभी उस पर पढ़ा हूँ। तो यहाँ सही जवाब है:

फ़ायरफ़ॉक्स 57 के रूप में आप इस तरह हेडलेस मोड में स्क्रीनशॉट बना सकते हैं:

firefox -screenshot https://developer.mozilla.com

प्रलेखन में अधिक पढ़ें ।

अपडेट 2017-06-15

फ़ायरफ़ॉक्स 55 के रूप में फ़ायरफ़ॉक्स स्क्रीनशॉट एक अधिक लचीला विकल्प के रूप में है। फ़ायरफ़ॉक्स 57 के रूप में स्क्रीनशॉट एक पूर्ण पृष्ठ पर भी कब्जा कर सकता है।

मूल उत्तर

फ़ायरफ़ॉक्स 32 के बाद से डेवलपर टूल (F12) में एक पूर्ण पृष्ठ स्क्रीनशॉट बटन भी है । यदि यह सक्षम नहीं है, तो डेवलपर टूल सेटिंग्स (गियर बटन) पर जाएं और "उपलब्ध टूलबॉक्स बटन" अनुभाग पर "पूर्ण पृष्ठ स्क्रीनशॉट लें" चुनें।

डेवलपर उपकरण टूलबार स्रोत: developer.mozilla.org

डिफ़ॉल्ट रूप से स्क्रीनशॉट डाउनलोड निर्देशिका में सहेजे जाते हैं। यह screenshot --fullpageटूलबार में समान काम करता है ।


7
F12 पर फायरबग खोलने वालों के लिए, डेवलपर टूल Ctrl + Shift + K या Ctrl + Shift + I के साथ उपलब्ध हैं। बस ... मामले में ... किसी ने उन्हें पहले कभी इस्तेमाल नहीं किया।
किरो कानोस

उन कीबोर्ड शॉर्टकट मैक पर काम नहीं करते हैं। टूल> वेब डेवलपर> टूल का उपयोग करें। और, हाँ, स्क्रीनशॉट बटन डिफ़ॉल्ट रूप से अक्षम है। सक्षम करने के लिए सेटिंग्स आइकन पर क्लिक करें।
स्नोक्रैश

मैक पर, आप डेवलपर टूल cmd+ alt+i
achairapart

फ़ायरफ़ॉक्स स्क्रीनशॉट मोज़िला के सर्वर पर लिए गए स्क्रीनशॉट अपलोड करता है। उन्होंने मुझे पहले से नोटिस करने के लिए यह पर्याप्त नहीं बनाया। सौभाग्य से मेरे मामले में छवि बहुत संवेदनशील नहीं थी, हालांकि यह आंतरिक थी। चेतावनी दी।
हैमर ब्रो।

1
इस सवाल से: "मुझे कई फ़ायरफ़ॉक्स ऐड-ऑन मिले, लेकिन मैं एक समाधान ढूंढ रहा हूं जिसे शेल कमांड लाइन का उपयोग करके प्रोग्राम किया जा सकता है।"
क्वेंटिन

9

मैंने एक कस्टम समाधान (फ़ायरफ़ॉक्स एक्सटेंशन) कोडिंग को समाप्त किया जो ऐसा करता है। मुझे लगता है कि जब तक मैंने इसे विकसित किया, तब तक कमांडर का उल्लेख किया गया था।

फ़ायरफ़ॉक्स एक्सटेंशन CmdShots है । यदि स्क्रीनशॉट लेने की प्रक्रिया पर (या आप कुछ HTML / JS संशोधन और छवि प्रसंस्करण करना चाहते हैं) नियंत्रण की आवश्यकता है तो यह एक अच्छा विकल्प है।

आप इसका उपयोग कर सकते हैं और इसका दुरुपयोग कर सकते हैं। मैंने इसे बिना लाइसेंस के रखने का फैसला किया, इसलिए आप इसके साथ खेलने के लिए स्वतंत्र हैं जैसा आप चाहते हैं।


20
हम्म, यह "बिना लाइसेंस" का मतलब नहीं है: इसका वास्तव में मतलब है कि आप किसी भी उपयोग के लिए कोई अनुमति नहीं देते हैं, जो स्पष्ट रूप से सच नहीं है क्योंकि बहुत ही वाक्य में आप यह भी कहते हैं कि इसका उपयोग करना, दुरुपयोग करना और उसके साथ खेलना ठीक है। चाहते हैं। शायद आप CC0 जैसा कुछ चाहते हैं ?
सैमबी

उन "बिना लाइसेंस वाली" चीजों के लिए जिन्हें मैं पसंद करता हूं: wtfpl.net यह स्पष्ट रूप से बताता है कि कानूनी बीएस के बिना क्या अनुमति है।
kap

@SBB मैं बेतरतीब ढंग से आपकी टिप्पणी पर अड़ गया। हाँ, मुझे पता है 3 साल बाद। समस्या यह है कि अगर मैं एक लाइसेंस लिखता हूं, तो मैं पहले से ही चीजों को जटिल करता हूं। NOLICENSE दृष्टिकोण बस सामान करना है।
उमर आबिद

3
कृपया लोग, कस्टम लाइसेंस का उपयोग न करें। मुझे पता है कि लोग अपने स्वयं के लाइसेंस को लिखकर कानूनी बकवास से बचने की कोशिश करते हैं, लेकिन वे इसके विपरीत काम करते हैं, जिससे लोगों के लिए कानूनी सिर दर्द होता है क्योंकि वे यह जानने की कोशिश करते हैं कि वास्तव में कस्टम लाइसेंस का क्या मतलब है। देखें choosealicense.com
फ़्लिम

@SamB - जबकि "बिना लाइसेंस वाला" स्पष्ट रूप से एक "आधिकारिक लाइसेंस" नहीं है, "द अनलाइसेंस" वास्तव में एक लाइसेंस है, और ओपी अपने कोड के उपयोग के लिए अपने इरादे के रूप में जो वर्णन करता है उसके बहुत करीब लगता है। देखें: choosealicense.com/licenses/unlicense
एडगर

8

मुझे लगता है कि आप जो खोज रहे हैं वह एक उपयोगिता है जो आपको अपने ब्राउज़र में खोले गए एक पूर्ण पृष्ठ को png फ़ाइल में सहेजने में सक्षम बनाती है । ज्यादातर शायद आप कमांडलाइनप्रिंट 2 जैसी उपयोगिता की तलाश में हैं ।

एक्सटेंशन स्थापित करने के बाद, आपको बस कमांड टाइप करने की आवश्यकता है:

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

1

फ़ायरफ़ॉक्स स्क्रीनशॉट एक नया टूल है जो फ़ायरफ़ॉक्स के साथ जहाज करता है। यह एक डेवलपर टूल नहीं है, यह ब्राउज़र के अंतिम उपयोगकर्ताओं के लिए है।

स्क्रीनशॉट लेने के लिए, एड्रेस बार में पेज एक्शन मेनू पर क्लिक करें, और "स्क्रीनशॉट लें" पर क्लिक करें। यदि आप "पूर्ण पृष्ठ सहेजें" पर क्लिक करते हैं, तो यह आपके लिए स्क्रॉल करते हुए पूर्ण पृष्ठ को बचाएगा।


(स्रोत: mozilla.net )


3
इस सवाल से: "मुझे कई फ़ायरफ़ॉक्स ऐड-ऑन मिले, लेकिन मैं एक समाधान ढूंढ रहा हूं जिसे शेल कमांड लाइन का उपयोग करके प्रोग्राम किया जा सकता है।"
क्वेंटिन

-1

फ़ायरफ़ॉक्स के लिए आप सेलेनियम और वेबड्राइवर का उपयोग कर सकते हैं।

import selenium.webdriver
import selenium.common

options = selenium.webdriver.firefox.options.Options()
# options.headless = True
with selenium.webdriver.Firefox(options=options) as driver:
    driver.get('http://google.com')
    time.sleep(2)
    root=driver.find_element_by_tag_name('html')
    root.screenshot('whole page screenshot.png')
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.