October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

How to Get a Frame’s Name in Puppeteer

Read a Puppeteer frame’s current name or ID from its element with frame.frameElement() and evaluate(); learn why frame.name() is obsolete.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a current frame name or ID in Puppeteer, get the frame’s element and read its DOM properties:

const element = await frame.frameElement();
const nameOrId = await element.evaluate(el => el.name ?? el.id);

This reads the element’s current value. The older frame.name() method is obsolete in current Puppeteer documentation and returns a value calculated when the frame was created, so it will not reflect later attribute changes.

As an Amazon Associate I earn from qualifying purchases.

Read the frame element’s current name or ID

frame.frameElement() returns the element associated with a Puppeteer Frame. Use element.evaluate() to read its name and id properties in the page:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const element = await frame.frameElement();
const nameOrId = await element.evaluate(el => el.name ?? el.id);
console.log(nameOrId);

The expression el.name ?? el.id uses the ID only if the name is null or undefined. A name that is an empty string stays an empty string.

#1 Best Overall
HP 14" HD Chromebook Laptop for Students, Intel Quad-Core N4120(> N4020), 4GB RAM, 64GB eMMC, WiFi, Webcam, HDMI, USB-A&C, 14 Hours Battery Life, Zoom, Chrome OS, CUE Accessories
  • Intel Celeron N4120: 4 Cores & Threads, 1.1GHz Base Clock, Up to 2.6GHz Boost Clock, 4MB Cache, Intel UHD Graphics 600. The perfect combination of performance, power consumption, and value helps your device handle multitasking smoothly and reliably with four processing cores to divide up the work.

Fall back to the ID when the name is empty

If an empty name should count as missing, use || instead:

const nameOrId = await element.evaluate(el => el.name || el.id);

Because the DOM name is a string, this falls back when the name is empty. More generally, || falls back for any falsy value, while ?? falls back only for nullish values.

Find a frame by its current name or ID

page.frames() returns the frames attached to a page. Iterate through them and inspect each frame’s element:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
for (const frame of page.frames()) {
  const element = await frame.frameElement();
  const nameOrId = await element.evaluate(el => el.name ?? el.id);
  console.log(nameOrId, frame.url());
}

This lets you examine the available values alongside each frame’s URL. If you need to select one frame, add a condition using the value you read:

Rank #3
ASUS 2026 15" FHD IPS Chromebook, Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage, HDMI, Super-Fast WiFi, Chrome OS, Pastel Silver (Renewed)
  • Intel Processor Up to 2.80GHz, 4GB DDR4, 128GB Storage
  • 15" FHD IPS Display, Intel UHD Graphics
  • 1x USB Type C, 1 x USB Type A, 1x Headphone/Microphone Combo Jack, HDMI
  • Fast WiFi and Bluetooth, Integrated Webcam
  • Chrome OS, AC Charger Included, Pastel Silver
let matchingFrame;

for (const frame of page.frames()) {
  const element = await frame.frameElement();
  const nameOrId = await element.evaluate(el => el.name ?? el.id);

  if (nameOrId === 'checkout') {
    matchingFrame = frame;
    break;
  }
}

if (!matchingFrame) {
  throw new Error('No frame named or identified as checkout was found');
}

Use the name-or-ID convention that matches your page: the example matches either property because it reads the name first and falls back to the ID only when the name is nullish. The cited API guidance does not establish a special main-frame handling policy; check the behavior for the Puppeteer version installed in your project if your loop must account for the main frame.

Why not use frame.name()?

Current Puppeteer API documentation marks Frame.name() obsolete and recommends reading the frame element instead. Its value is calculated once when the frame is created; a later change to the element’s attribute does not update that value. Reading el.name or el.id evaluates the element property at the time you call it, which is appropriate when you need the current value.

Rank #4
Lenovo Chromebook 2-in-1 - Lightweight Laptop - Google Gemini - Intel® N150 CPU - 14" WUXGA IPS Touchscreen Display - 4GB RAM - 128GB UFS Storage - Integrated Intel® Graphics - Luna Grey
  • THE BETTER WAY TO LAPTOP – Imagine a Chromebook that’s as flexible as your day: thin and lightweight with built-in Google apps and stress-free security.
  • TAKE HITS KEEP MOVING – Sleek, light, and built to last- the Chromebook 2-in-1 is just 0.69” thick and 3.3lbs. Enjoy long-lasting battery life, fast charging, and military-grade durability for nonstop productivity wherever life takes you.
  • PERFORMANCE THAT MATCHES YOUR HUSTLE – Fuel your ideas with an Intel Core processor and 128GB storage. Boot up in under 10 seconds to start the day powerfully efficient.
  • FLEX YOUR CREATIVITY ANYWHERE, ANYTIME – Create, work, or unwind your way with a versatile 2-in-1 design. Flip easily between laptop, tent, and tablet modes with a responsive touchscreen built for flexibility.
  • BRILLIANT VIEWS AND IMMERSIVE AUDIO – See, hear, and create with awesome clarity. The WUXGA display brings rich detail to your work and play, while audio tuned by Waves MaxxAudio provides immersive, balanced sound.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a screenshot rather than inspecting a frame in Puppeteer, ScreenshotNeo provides a website screenshot API and MCP server for developers. Its API can return a screenshot or PDF from one GET request. See the ScreenshotNeo API documentation for options.

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

ScreenshotNeo accepts cookie or consent banners 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, with the response identifying the page verdict and billing status in headers. An MCP server offers take_screenshot, get_page_info, and capture_pdf tools for AI agents and other MCP clients. The Free plan includes 1,000 screenshots a month without a card; paid plans start at $5 for 3,000 screenshots.

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

Best Value
HP Chromebook 14 Laptop, Intel Celeron N4120, 4 GB RAM, 64 GB eMMC, 14" HD Display, Chrome OS, Thin Design, 4K Graphics, Long Battery Life, Ash Gray Keyboard (14a-na0226nr, 2022, Mineral Silver)
  • FOR HOME, WORK, & SCHOOL – With an Intel processor, 14-inch display, custom-tuned stereo speakers, and long battery life, this Chromebook laptop lets you knock out any assignment or binge-watch your favorite shows..Voltage:5.0 volts
  • HD DISPLAY, PORTABLE DESIGN – See every bit of detail on this micro-edge, anti-glare, 14-inch HD (1366 x 768) display (1); easily take this thin and lightweight laptop PC from room to room, on trips, or in a backpack.
  • ALL-DAY PERFORMANCE – Reliably tackle all your assignments at once with the quad-core, Intel Celeron N4120—the perfect processor for performance, power consumption, and value (2).
  • 4K READY – Smoothly stream 4K content and play your favorite next-gen games with Intel UHD Graphics 600 (3) (4).
  • MEMORY AND STORAGE – Enjoy a boost to your system’s performance with 4 GB of RAM while saving more of your favorite memories with 64 GB of reliable flash-based eMMC storage (5).

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.