Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To capture a product page without its newsletter popup, open the page in Playwright, click the popup’s actual close or decline control, wait for the overlay to disappear, then save a viewport, full-page, or element screenshot. The button text and markup vary by site, so use a locator that matches the page rather than assuming every popup says “No thanks.”

Dismiss the popup, then capture the page

Playwright’s official Page API documentation shows a newsletter overlay dismissed with a “No thanks” button. For a predictable popup, handle it explicitly in the normal page flow: wait for it, activate its real dismissal control, verify it is gone, and only then take the screenshot. See the Playwright Page API documentation for the example and guidance.

Here is the basic JavaScript sequence. Replace the example URL and adapt the button and dialog locators to the target page’s actual accessible names and structure:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
await page.goto('https://example.com/product', { waitUntil: 'domcontentloaded' });

const dismissButton = page.getByRole('button', { name: 'No thanks' });
await dismissButton.waitFor({ state: 'visible' });
await dismissButton.click();

const newsletterDialog = page.getByRole('dialog', { name: /newsletter/i });
await newsletterDialog.waitFor({ state: 'hidden' });

await page.screenshot({ path: 'product-page.png' });

The “No thanks” label and newsletter dialog locator are examples, not universal selectors. If the site uses a close icon, locate that control by its accessible name or stable markup instead. If the overlay has no dialog role, verify the relevant overlay element is hidden or detached using a locator based on the page’s actual markup.

#1 Best Overall
Sale
Kodak PIXPRO FZ45 16MP Compact Digital Camera, 4X Optical Zoom, AA, Black
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 4x optical zoom with a 27mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • LCD Screen and Battery: 2.7in LCD screen with 2 AA alkaline batteries for convenient on-the-go use

Run it as a complete Playwright script

Install Playwright and its browser with npm install playwright and npx playwright install chromium. Save this as capture.js, replacing the URL and locators as needed, then run node capture.js:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch({ headless: true });
  const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });

  try {
    await page.goto('https://example.com/product', {
      waitUntil: 'domcontentloaded',
      timeout: 30000,
    });

    const dismissButton = page.getByRole('button', { name: 'No thanks' });
    await dismissButton.waitFor({ state: 'visible', timeout: 10000 });
    await dismissButton.click();

    const newsletterDialog = page.getByRole('dialog', { name: /newsletter/i });
    await newsletterDialog.waitFor({ state: 'hidden', timeout: 10000 });

    await page.screenshot({ path: 'product-page.png' });
  } finally {
    await browser.close();
  }
})();

This example assumes the popup appears and that its dismissal makes the identified dialog hidden. Change those assumptions to match the target page; a site may show the popup after a delay or use a different element structure.

Rank #2
Sale
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Black
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 5x optical zoom with a 28mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • Rechargeable Battery: Included LB-012 lithium-ion battery charges in the camera over USB with the supplied adapter in about 2 hours; charge it for at least 4 hours before first use to maximize battery life

Choose what part of the product page to capture

Playwright supports page screenshots and locator-level screenshots. Choose the scope based on what the image needs to show; see its screenshots documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Capture type Use it for Tradeoff
Viewport A conventional view of what is visible in the browser window. Content below the fold is not included.
Full page Product details and other content throughout the scrollable page in one image. Very long pages can produce a very tall image.
Element A particular product image, price panel, or other selected region. Surrounding page context is excluded.

For a full-page image, use fullPage: true. For one element, take a screenshot from its locator. For example, after dismissing the popup:

Rank #3
Sale
Digital Camera, Latest FHD 1080P Digital Camera for Teens with SD Card Anti Shake Point and Shoot Cameras Portable 16X Zoom Compact Small Cameras for Kids Boys Girls Seniors with Wrist Strap
  • Latest Digital Camera Built-in Fill Light : This compact digital camera is paired with a powerful CMOS processor and image stabilization to help you take & record the most exciting moments in 44 MP quality images & FHD 1080P quality videos anywhere, anytime. Plus, there is also a built-in fill light to help you take high quality pictures even in low light&dark settings, making this the perfect camera for all indoors/outdoors situations.
  • Long-Lasting Battery Life & 16X Digital Zoom :This point and shoot camera will retain its battery charge even after long use. The controls and functions are easy to operate making this the perfect choice for children, teens and younger. This kids camera supports 16x digital zoom, you can zoom in or out the subject by pressing the W/T button for taking still photos to zoom in or out on distant objects and capture all the details you need.
  • Multifunctional & Portable Digital Camera: This cheap digital camera is slim enough to fit in your pocket. You'll easily be able to take it with you on all your indoor/outdoor activities and adventures and ideal for beginners, children and teenagers. This kids digital camera is equipped with 20 filters, anti-shaking, self-timer, continuous shooting, date stamp, time-lapse recording, smile capture, internal MIC and speaker (recording sound videos), great for your daily photography needs.
  • WEBCAM & PAUSE FUNCTION : More than just a FHD 1080p digital camera, it also works as a webcam for video calls and vlogging. Connect the camera to the computer, press shutter and power button at the same time and the camera will automatically turn on webcam mode for all your video calling and live streaming needs. The pause function allows you to pause when seeing playback videos.
  • A Must Have Photography Device : This digital camera with SD card made from high-quality materials, this retro camera is safe and durable. Perfect for all ages to develop & improve their photographic abilities and observation skills. Our dedicated and experienced 24/7 support team is available for all after purchase troubleshooting, questions and technical help.
await page.screenshot({ path: 'product-page-full.png', fullPage: true });
await page.locator('.product-image').screenshot({ path: 'product-image.png' });

Replace .product-image with a selector that identifies the element on the site.

Handle popups that do not appear every time

If the newsletter popup is intermittent, make dismissal conditional rather than waiting indefinitely for a button that may never appear. Keep the interaction self-contained, then check that any visible overlay no longer blocks the page:

Rank #4
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Red
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 5x optical zoom with a 28mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • Rechargeable Battery: Included LB-012 lithium-ion battery charges in the camera over USB with the supplied adapter in about 2 hours; charge it for at least 4 hours before first use to maximize battery life
const dismissButton = page.getByRole('button', { name: 'No thanks' });

if (await dismissButton.isVisible().catch(() => false)) {
  await dismissButton.click();
}

// Take the screenshot only after checking the page is in the intended state.
await page.screenshot({ path: 'product-page.png' });

Adapt the condition and final state check to the actual popup. Playwright cautions that locator handlers for unpredictable overlays can run between actions and affect mouse or keyboard state. Prefer explicit locator actions when the flow permits; if using a handler, avoid relying on mouse or keyboard state surviving its execution. The guidance is in the Page API documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Dismissal is not newsletter signup or cookie consent

If the goal is a product page without the overlay, use its close or decline action; do not submit an email address unless subscribing is actually intended. A newsletter popup is also different from a browser JavaScript alert, confirm, or prompt, which is handled as a browser dialog rather than an in-page modal.

Cookie consent is a separate interaction. Browserless documents a cookie-banner dismissal example, which illustrates a similar capture sequence but does not make cookie consent and newsletter signup interchangeable: Browserless screenshot documentation.

Troubleshoot common capture failures

  • The click times out: The popup may not have appeared yet, may use a different button label, or may not be a button. Inspect the rendered page and choose a locator matching its actual control. If the popup is intermittent, use a conditional flow.
  • The popup remains over the screenshot: The click may have targeted the wrong control, or the overlay may close asynchronously. Wait for the actual overlay to become hidden or detached before capturing.
  • The dialog locator never becomes hidden: The popup may not expose the assumed dialog role or accessible name. Inspect its markup and check the specific overlay element’s state instead.
  • The screenshot cuts off product details: A default page screenshot captures the viewport. Use fullPage: true for the full scrollable page or a locator screenshot for a particular element.
  • Automation reports a browser JavaScript dialog: An alert, confirm, or prompt is not the newsletter modal. Handle it as a browser dialog rather than clicking an in-page popup control.
  • Interactions behave unpredictably after an overlay handler runs: A handler can run between actions and change mouse or keyboard state. Prefer a direct, self-contained locator action for a known popup.

Or skip the browser setup

ScreenshotNeo can capture a page with one GET request. Cookie banners and newsletter popups are accepted or removed before capture, including chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.

Install the ScreenshotNeo docs for options and API details, then call the API like this (replace the example target URL with the product page):

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Quick Recap

SaleBestseller No. 1
Kodak PIXPRO FZ45 16MP Compact Digital Camera, 4X Optical Zoom, AA, Black
Kodak PIXPRO FZ45 16MP Compact Digital Camera, 4X Optical Zoom, AA, Black
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$99.99
SaleBestseller No. 2
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Black
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Black
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$139.99
Bestseller No. 4
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Red
Kodak PIXPRO FZ55 16MP Compact Digital Camera, 5X Optical Zoom, Red
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$131.59

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.