Як зробити знімок екрана, який містить елемент прокрутки на веб-сторінці Firefox?


70

Мені потрібно зробити скріншот цілої веб-сторінки. Хитрість полягає в тому, що мені потрібен знімок екрана, щоб включати весь вміст одного елемента, який не вміщується на екрані.

Це одна таблиця стовпців, яка має смугу прокрутки через свою висоту. Це не IFRAME (який було б просто завантажити у власну вкладку).

У колонці є відформатований текст та кілька невеликих зображень.

Для довгих веб-сторінок, які прокручуються, виконувати це завдання нерівно. Але як це можна досягти, якщо він містить окремий елемент на сторінці, який прокручується?

Щоб було зрозуміло, мені потрібно захопити всю сторінку, а не лише сам елемент.

Я хотів би досягти цього за допомогою Firefox у Windows.


2
Ви коли-небудь розглядали можливість збереження сторінки як PDF? Цей метод полягає в тому, що деякі веб-сайти мають "вид друку", який міститиме PDF, але в деяких випадках ця методика може працювати.
JakeGould

@JakeGould Дякую Джейку. Це буде працювати для прокрутки та елемента в межах сторінки?
RockPaperLizard

Welp, пропустив частину про елемент прокрутки. Це занадто ідіосинкратично для мене, щоб коментувати, тому все, що я можу сказати, - я не можу бути впевненим у тому, що метод друку у форматі PDF працюватиме. Пощастило іншим представленим тут ідеям.
JakeGould


Якщо я правильно розумію, прокручуваний елемент, про який йдеться, мабуть, змушений бути меншим, ніж на повний зріст. Налаштування атрибуту стилю висоти для автоматичного для цього елемента може допомогти.
tehwalris

Відповіді:


86

Моя пропозиція - використовувати вбудовану функцію Firefox, яка дозволяє робити знімки екрана одного елемента DOM.

Просто відкрийте інструменти для розробників → Знайдіть елемент → Клацніть правою кнопкою миші та зробіть знімок екрана

введіть тут опис зображення

Він не працював на одному з моїх внутрішніх сайтів, тому не можу сказати, що він буде працювати для всіх.

Оновлення після редагування ОП:

Якщо ви маєте намір записати повну сторінку разом із усім вмістом елементів DOM, як показано нижче, вам слід редагувати висоту елемента DOM, але ...

введіть тут опис зображення

Це збирає витіснити багато елементів DOM із вікна перегляду та екрану екрана або AFAIK будь-який інший інструмент не захопить це, що відповідає вашим цілям, я думаю.

Читайте нижче з https://en.wikipedia.org/wiki/Screenshot

Скріншот екрана, захоплення екрана, кришка екрана, кришка, дамп на екрані або екранна графіка - це зображення, зроблене людиною для запису видимих ​​предметів, що відображаються на моніторі, телевізорі чи іншому візуальному пристрої виводу, який використовується.

Якби мені справді довелося зробити це так, я б створив GIF або зробив два скріншоти, одну повну сторінку та іншу лише з елемента DOM, щоб об'єднатися в одну.


Дуже дякую за вашу відповідь (і чудовий образ!), Але, на жаль, це не відповідає на питання. Мені потрібно зробити скріншот всієї сторінки, включаючи елемент, а не лише самого елемента.
RockPaperLizard

5
@RockPaperLizard насправді @ pun відповідь відповідає на ваше запитання ... він просто не застосував це до вашої справи використання. Ви можете слідувати за його відповіддю, але виберіть <body>елемент, і він дасть вам потрібний знімок екрана.
Цифровий Кріс

2
Якщо ви відредагуєте висоту елемента DOM, щоб не було внутрішніх смуг прокрутки, тоді використовуйте FireShot для захоплення всієї сторінки, вона повинна працювати.

Мені вдалося отримати такий знімок екрана, але не більше. Він все ще видає звук затвора камери, просто нічого не ставить у буфер обміну. Те саме стосується команди на панелі інструментів розробника, жоден файл не створюється.
MrFox

@MrFox У папці завантажень створюється png-файл.
AxiomaticNexus

24

Ви можете використовувати команду скріншоту на панелі інструментів розробника:

  1. Натисніть Shift+, F2щоб відкрити панель інструментів або вибрати її в меню Інструменти веб-розробників.

  2. На панелі інструментів введіть команду screenshot --fullpage fullpage.png.

Для захоплення одного елемента ви можете використовувати його css-селектор із прапорцем --selector, наприклад

screenshot --selector #hot-network-questions

отримає вам зображення нижче

введіть тут опис зображення


4
@RockPaperLizard Я знайшов ще одне повідомлення з такою ж відповіддю, і ОП відредагували ви.
каламбур

@pun Дякую Але мені потрібно зробити скріншот всієї сторінки із розширеним елементом, а не лише самим елементом.
RockPaperLizard

Мені вдалося отримати такий знімок екрана, але не більше. Він все ще видає звук затвора камери, тільки не файл. Те саме стосується клацання правою кнопкою миші на елементі в режимі розробника і копіювання його таким чином. Жодне зображення не надсилається до буфера обміну.
MrFox


4

Існує програмне забезпечення під назвою Snagit, яке може вирішити вашу проблему. Це програмне забезпечення може робити знімки екрана різних типів, як прокрутка, а також може записувати відео.

Це платне додаток, але також доступна пробна версія.


якщо ви знайдете це як відповідь, позначте його та опублікуйте у коментарі Що це означає?
AL


Я використовував SnagIt роками. Це дуже корисна частина програмного забезпечення.
Рой Тінкер

2

Я використовую Screenpresso . Це дозволяє зробити знімок екрана прокрутки. В основному ви робите скріншот, прокручуєте вниз, знімаєте інше тощо, потім Screenpresso зшиває їх разом. Screenpresso також безкоштовний.

FYI, клавіші швидкого доступу для прокрутки скріншоту - це WindowsKey + Shift + PrintScreen. Потім потрібно натиснути на вікно, яке ви хочете прокрутити. Коли ви переходите до наступної частини екрана, клацніть правою кнопкою миші, прокрутіть вниз, клацніть правою кнопкою миші тощо. Коли ви закінчите, клацніть лівою кнопкою миші, і вони будуть зшиті разом. Переконайтеся, що на кожному скріншоті є певне перекриття, щоб процес зшивання працював краще.


1

Існує розширення під назвою Nimbus Screen Capture, яке ідеально підходить для цього завдання.

У вас є можливість захопити:

  • видиму частину сторінки (корисно не включати елементи браузера на відміну від alt+ Print Scrn)
  • фрагмент сторінки (за допомогою якого ви можете навести курсор на регіони на екрані, щоб знайти потрібний фрагмент - ці регіони відповідають їх елементам HTML)
  • вибрана область (ви вручну клацніть та перетягуєте туди, куди потрібно знімок екрана, підтримує прокрутку під час перетягування)
  • всю сторінку

німбус


Дякую за вашу відповідь, я ціную це. На жаль, схоже, що Nimbus Screen Capture може захоплювати весь вміст прокручуваного елемента в межах сторінки. Якщо я помиляюся, ви могли б надати більш детальну інформацію про те, як це досягти за допомогою цього інструменту?
RockPaperLizard

@RockPaperLizard ви маєте рацію, схоже, це не підтримує - я думав, що режим фрагмента покриє елементи прокрутки, або що вибраний режим роботи буде працювати, але, хоча вікно можна прокручувати в цьому режимі, здається, що елементи прокрутки не можуть.
Кіт Холл

Дякую за підтвердження, що я просто не бачив цього. Можливо, вони додадуть цю функціональність до майбутньої версії.
RockPaperLizard

0

Параметри, щоб вмістити все на одній сторінці:

  • Використовуйте <Ctrl>-для розміщення всього на одній сторінці
  • Поверніть екран у портретному режимі
  • Використовуйте другий екран у портретному режимі та знайдіть його нижче першого
  • Поєднайте все вищезазначене

Інший варіант - зробити знімок екрана верхньої частини того, що ви хочете зробити. Прокрутіть униз, зробіть наступний знімок екрана. Повторіть це, поки не захопите все.
За бажанням: комбінуйте знімки екрана в одне велике зображення за допомогою редактора зображень (наприклад, gimp).


1
Поки я не перейшов до пункту №4, я подумав, що ви лише пропонуєте поєднати всі предмети! Я уявляв собі 20 екранів і складав їх один на інший ... LOL. Потім я потрапив до №4 і дізнався, що ви маєте на увазі предмети, які потрібно використовувати окремо або комбінувати.
RockPaperLizard

Але якщо ви зменшите масштаб сторінки, не існує способу її масштабування без спотворень.
NiCk Newman

0

Щоб робити знімки екрана, ви можете додати розширення, як простий знімок екрана. Тоді вам буде набагато простіше робити знімки екрана.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.