커맨드 라인에서 Firefox로 전체 페이지 스크린 샷 찍기


224

VPS의 Xvfb에서 Firefox를 실행하고 있습니다. 내가하고 싶은 일은 페이지의 전체 페이지 스크린 샷을 찍는 것입니다.

사용하여 Firefox를 특정 페이지로 리디렉션 할 수 있습니다

firefox http://google.com

ImageMagick을 사용하여 스크린 샷 (X 내부)을 만듭니다.

import root -window output.jpg

문제는 대부분의 페이지가 스크롤되어야하며 미리 높이를 알 수 없다는 것입니다.

다른 방법은 4000px와 같은 매우 큰 높이를 선택한 다음 이미지를 처리하고 쓸모없는 부분을 제거하는 것입니다. 그러나 그것은 불필요한 처리입니다.

많은 Firefox 애드온을 찾았지만 Shell Command line을 사용하여 프로그래밍 할 수있는 솔루션을 찾고 있습니다.

편집 : 나는 이것을하기 위해 내 자신의 FireFox 확장 을 작성 했습니다.


1
스크린 샷을 찍을 수있는 웹킷 cli 도구를 보았지만 이름을 기억하지 못합니다.
Rufo El Magufo 2019

답변:


480

개발자 도구 모음 (GCLi)을 통하여 상호 및 Shift+ F2바로 가기가 파이어 폭스 버전 60에서 제거되었다 . 60 이상에서 스크린 샷을 찍으려면

  • 키를 누릅니다 Ctrl+ Shift+ K엽니 개발자 콘솔 ( ⌥ Option+ ⌘ Command+ K맥 OS에)
  • 유형 :screenshot또는:screenshot --fullpage

스크린 샷 및 기타 기능에 대해 자세히 알아보십시오


Firefox 버전 <60의 경우 :

Shift+를 누르 F2거나 도구> 웹 개발자> 개발자 도구 모음으로 이동하여 명령 행을여십시오. 쓰다:

screenshot

스크린 샷을 찍으려면 Enter 키 를 누릅니다 .

질문에 완전히 대답하기 위해 페이지의 보이는 부분뿐만 아니라 전체 페이지를 저장할 수도 있습니다.

screenshot --fullpage

스크린 샷을 클립 보드에 복사하려면 --clipboard옵션을 사용하십시오 .

screenshot --clipboard --fullpage

Firefox 18 은 인수가 명령에 전달되는 방식을 변경하므로 명령 앞에 "-"를 추가해야합니다.

여기 에서 일부 설명서와 전체 명령 목록을 찾을 수 있습니다 .

추신. 스크린 샷은 기본적으로 다운로드 디렉토리에 저장됩니다 .


4
당신이 당신의 클립 보드에 스크린 샷을 복사 만 할 경우 직접 사용 스크린 샷 --clipboard --fullpage
mbokil

2
해당 명령이 자바 스크립트 콘솔에서 작동하지 않으므로이 툴바에 대한 추가 정보에 대한 링크가 있습니까? 다른 무엇을 할 수 있습니까?
tremby

5
참고로 관리자를 통해 DOM 메모를 선택한 다음 right-click-> 을 선택할 수도 있습니다 screenshot node. 페이지의 한 섹션을 스크린 샷으로 만들 때 매우 유용합니다.
Tom

5
전체 페이지 스크린 샷-클립 보드- screenshot --clipboard --fullpage특정 노드의 스크린 샷 (ID 별)screenshot --clipboard --selector #elementId
Mohnish

3
나는 사용했다 :screenshot --clipboard --fullpage(콜론을 생각하십시오)
someonr

134

2018-07-23 업데이트

주석에서 지적 했듯이이 질문은 명령 줄에서 스크린 샷 얻는 것에 관한 것 입니다. 미안, 방금 읽어 봤어 정답은 다음과 같습니다.

Firefox 57부터 다음과 같이 헤드리스 모드에서 스크린 샷을 만들 수 있습니다.

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

설명서 에서 자세한 내용을 읽으십시오 .

2017-06-15 업데이트

Firefox 55 부터는 보다 유연한 대안으로 Firefox 스크린 샷이 있습니다. Firefox 57 현재 스크린 샷도 전체 페이지를 캡처 할 수 있습니다.

원래 답변

Firefox 32부터 개발자 도구 (F12)에 전체 페이지 스크린 샷 버튼 이 있습니다. 활성화되어 있지 않으면 개발자 도구 설정 (톱니 바퀴)으로 이동하여 "사용 가능한 도구 상자 버튼"섹션에서 "전체 페이지 스크린 샷 찍기"를 선택하십시오.

개발자 도구 툴바 출처 : developer.mozilla.org

기본적으로 스크린 샷은 다운로드 디렉토리에 저장됩니다. screenshot --fullpage툴바에서 와 비슷하게 작동합니다 .


7
F12에서 Firebug를 여는 사용자의 경우 개발자 도구는 Ctrl + Shift + K 또는 Ctrl + Shift + I와 함께 사용할 수 있습니다. 만약에 .. 누군가가 전에 한번도 사용하지 않은 경우
Kir Kanos

해당 키보드 단축키는 Mac에서 작동하지 않습니다. 도구> 웹 개발자> 도구 전환을 사용하십시오. 예, 스크린 샷 버튼 기본적으로 비활성화되어 있습니다. 설정 아이콘을 클릭하여 활성화하십시오.
Snowcrash

Mac에서는 cmd+ alt+를 사용하여 개발자 도구를 열 수 있습니다i
achairapart

Firefox 스크린 샷은 Mozilla 서버로 찍은 스크린 샷을 업로드합니다. 그들은 내가이 사실을 미리 알아 차리기에 충분히 만들지 않았다. 다행히도 내 경우의 이미지는 내부에 있었지만 너무 민감하지 않았습니다. 경고 받다.
망치 형제.

1
"Firefox 애드온을 많이 찾았지만 Shell Command line을 사용하여 프로그래밍 할 수있는 솔루션을 찾고 있습니다."
Quentin

9

이 작업을 수행하는 사용자 지정 솔루션 (Firefox 확장)을 코딩했습니다. 나는 그것을 개발할 때까지 enreas에 언급 된 명령 줄이 없었습니다.

Firefox 확장은 CmdShots 입니다. 스크린 샷을 찍는 과정을보다 세밀하게 제어해야하는 경우 (또는 HTML / JS 수정 및 이미지 처리를 원하는 경우) 좋은 옵션입니다.

당신은 그것을 사용하고 남용 할 수 있습니다. 라이센스가없는 상태로 유지하기로 결정했기 때문에 원하는대로 자유롭게 플레이 할 수 있습니다.


20
흠, 그것은 "무면허"의 의미가 아닙니다 : 그것은 실제로 당신이 어떤 용도로든 허락하지 않는다는 것을 의미합니다. 그것은 바로 그 문장에서 당신이 그것을 사용하고, 남용하고, 놀아도 좋다고 말하기 때문에 분명히 사실이 아닙니다. 필요. 아마도 CC0 같은 것을 원 하십니까?
SamB

"비 허가 된"것들에 대해 나는 이것을 선호한다 : wtfpl.net 그것은 법적 BS없이 무엇이 허용되는지 명확하게 기술한다.
kap

@ SamB 나는 당신의 의견을 무작위로 우연히 발견했습니다. 예, 3 년 후에는 알고 있습니다. 문제는 라이센스를 작성하면 이미 복잡한 일이라는 것입니다. NOLICENSE 접근법은 단순히 물건을 채우는 것입니다.
Omar Abid

3
커스텀 라이센스를 사용하지 마십시오. 나는 사람들이 자신의 라이센스를 작성함으로써 합법적 인 말도 안되는 것을 피하려고 노력하지만, 그 반대의 결과를 초래하여 사용자 정의 라이센스가 실제로 무엇을 의미하는지 알아 내려고 할 때 사람들에게 법적 두통을 유발합니다. choosealicense.com 참조
Flimm

@SamB - "무면허"명시 적 "공식 라이센스"되지 않은 상태 "라고 라이선스를 해제는"사실 이다 라이센스, 꽤 가까운 영업 이익은 자신의 코드의 사용에 대한 자신의 의도로 설명 무엇을 것 같다. 참조 : choosealicense.com/licenses/unlicense
Will Ediger

8

당신이 찾고 있는 것은 브라우저에서 열린 전체 페이지를 png 파일로 저장할 수있는 유틸리티라고 생각 합니다. 아마도 당신은 commandlineprint2 와 같은 유틸리티를 찾고있을 것입니다 .

확장 기능을 설치 한 후 다음 명령을 입력하면됩니다.

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

1

Firefox 스크린 샷Firefox 와 함께 제공되는 새로운 도구입니다. 개발자 도구가 아니며 브라우저의 최종 사용자를 대상으로합니다.

스크린 샷을 만들려면 주소 표시 줄에서 페이지 작업 메뉴를 클릭하고 "스크린 샷 찍기"를 클릭하십시오. 그런 다음 "전체 페이지 저장"을 클릭하면 전체 페이지가 저장되고 스크롤됩니다.


(출처 : mozilla.net )


3
"Firefox 애드온을 많이 찾았지만 Shell Command line을 사용하여 프로그래밍 할 수있는 솔루션을 찾고 있습니다."
Quentin

-1

Firefox 용 셀레늄 및 웹 드라이버를 사용할 수 있습니다.

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')
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.