ScreenshotNeo

BlogHow-to

How to Screenshot a Page with a Consent Manager That Blocks Scrolling

Learn how to capture a page when a cookie or consent manager blocks scrolling, using Firefox’s built-in tools, an extension, or a screenshot API.

By the ScreenshotNeo team4 October 20267 min read

First decide whether the consent layer belongs in the screenshot. If you need to document the banner or preserve the page as it appeared, leave it in place and capture that state. If you need the page beneath it, use the consent manager’s visible controls to make your intended choice, then try scrolling again. If scrolling resumes, use a full-page capture. If it does not, identify whether the document or an inner panel is locked and choose a capture method for that layout. There is no verified universal fix for every consent manager’s scroll lock.

For a browser-native full-page capture, Firefox provides a Developer Tools screenshot button and the Web Console command :screenshot --fullpage. For one section, use Inspector’s “Screenshot Node” or the command’s --selector option. These capture the page as it is rendered; they are not consent-lock bypasses. Mozilla’s screenshot documentation describes both methods.

1. Choose what the screenshot should show

A consent manager may place a dialog over the page, disable document scrolling, or leave the document still while a panel inside the page scrolls. Those situations need different capture approaches.

  1. Keep the banner when the screenshot is evidence of the prompt, its wording, or the page’s initial state. Capture without changing its controls.
  2. Show the underlying page by choosing the appropriate option in the visible consent controls. Then test ordinary scrolling. Do not assume that dismissing a banner is appropriate if you have not decided what consent choice to make.
  3. Inspect the scroll region if the page still will not move. Try scrolling over the main document and then over the content panel. Note which scrollbar moves, if any. A nested panel or embedded frame may scroll independently of the document.

For a reproducible record, note whether the consent layer was visible and which visible control you used. Consent state can affect what the page displays, so two screenshots taken under different choices may not be equivalent.

2. Capture the whole page in Firefox

Use the Developer Tools screenshot button

  1. Open Firefox Developer Tools.
  2. Open Developer Tools Settings and enable Take a screenshot of the entire page under Available Toolbox Buttons.
  3. Use the screenshot button. Firefox saves the image to Downloads.

This is a good first choice when you want the rendered document beyond the current viewport. If the consent overlay remains, the screenshot may include it or reflect the page’s current scroll-lock state. The control does not promise to dismiss the overlay or unlock scrolling.

Use the Web Console

Open the Web Console and enter:

:screenshot --fullpage

To set a filename, include it in the command:

:screenshot consent-page.png --fullpage

Firefox documents --fullpage as capturing portions of the page beyond the current window bounds. If your result omits content, check that the content belongs to the document being captured and is actually rendered; a separate scrollable region or embedded frame may need a different method.

3. Capture only the relevant element

If the subject is a dialog, a content panel, or one section of the page, an element capture can be more useful than a very tall full-page image.

  • In Firefox Inspector, select the element and choose Screenshot Node.
  • Or use the Web Console’s selector option, replacing the example selector with one that identifies a single element:
:screenshot consent-panel.png --selector "#consent-panel"

The selector capture includes the selected element and its descendants, not the whole document. If the selector matches nothing or more than the intended element, inspect the page structure and use a more specific CSS selector. If the panel is inside an iframe, the selector must be evaluated in the relevant frame context.

4. Handle inner scroll areas and embedded frames

When a page contains a separately scrolling panel, a standard full-document capture may show only the portion of that panel currently visible. A capture extension may help with complex scrolling layouts. GoFullPage’s listing describes scrolling through page sections and support for inner scrollable elements and embedded iframes, with image or PDF export. Those capabilities do not establish that it can override a particular consent manager’s scroll lock. Treat it as a capture option to try after checking the page structure, not as a consent bypass. See the GoFullPage Chrome Web Store listing.

If an extension misses content, capture the specific panel or frame separately where possible, or use the page’s own visible controls and try again. Be aware that a screenshot of a nested region may not include surrounding context, and separate captures may not line up as one continuous document.

Chrome DevTools’ Privacy and security panel is for inspecting and controlling third-party cookies and checking HTTPS protection. Its documentation does not describe it as a full-page screenshot tool or a way to unlock scrolling. Changing cookie behavior can affect the page, so do not use it as a generic fix for a consent overlay. See Chrome DevTools’ Privacy and security documentation.

6. Troubleshooting

What happens Likely cause What to try
The page still will not scroll after the banner is dismissed. The document may remain locked, or the actual scroll area may be a nested panel. Test scrolling over the document and over the panel separately. Use the intended visible consent controls, then retry. There is no verified universal unlock procedure.
The full-page image contains only the visible viewport or misses a panel. The content may live in an inner scroll region or embedded frame rather than the main document. Use an element capture for the relevant content, or try an extension that describes support for inner scrolling and frames. Check the result carefully.
The overlay is still in the screenshot. The capture records the current rendered state; full-page capture does not imply consent dismissal. If the overlay is part of the evidence, keep it. Otherwise make your intended choice using its visible controls and capture again.
The selected-element command captures the wrong area or nothing. The CSS selector may not match the desired element, may match a different element, or may refer to content in another frame. Inspect the DOM, choose a selector for the intended element, and select the node in the relevant frame context.
An extension captures a partial or awkwardly stitched result. The page may use custom scrolling, dynamic content, or a layout the extension does not handle as expected. Try Firefox’s full-page or element capture, capture the panel separately, and inspect the output before relying on it.
The screenshot differs between attempts. The page may have changed state, including consent state, loaded content, or scroll position. Record the visible consent choice and capture conditions; reload only if appropriate, then repeat the same steps.

7. Performance, reliability, and cost

Browser captures require no screenshot API request, but the result depends on the browser’s rendering of the current page and on whether its capture mode reaches the relevant content. Very long pages and dynamically loaded sections can take longer to inspect and produce large image files. Check that the output includes the sections you need and that text remains legible at the final size.

Extensions can be convenient for repeated scrolling and nested areas, but a listing’s feature description is not a guarantee for every site or consent implementation. For repeatable automation across URLs, an API can avoid managing a local browser capture workflow; the captured page can still reflect consent and rendering behavior, so verify the output when that distinction matters.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. One GET request captures a URL as an image or PDF. The API accepts options for full-page captures, selected elements, wait conditions, custom headers and cookies, and more. See the ScreenshotNeo API documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);

Replace the example URL with the page you want to capture. ScreenshotNeo accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents.

The free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 screenshots; every feature is on every plan. For this page, the main benefit is avoiding local browser setup while having consent cleanup and billing outcomes reported in the response. The API captures a URL; it does not guarantee that every consent manager or site-specific scroll lock will behave identically, so inspect the resulting image when the exact page state matters.

Sign up for 1,000 free screenshots a month, with no card required.

FAQ

Yes. Leave the controls untouched and capture the visible state. The result may include the overlay or show only the currently accessible content.

No. Full-page capture is a screenshot operation. Use the consent manager’s visible controls to make your choice.

They are documented for cookie inspection and control, not screenshot capture or scroll unlocking. They are not a general fix for this problem.

What if I need a record of the banner and the page behind it?

Capture the banner state as it appears, then make your intended choice and capture the underlying page separately. Label or retain the two images as distinct states.