- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to handle frames in Puppeteer?
We can handle frames in Puppeteer. The frames in an html code are represented by the frames/iframe tag. Puppeteer can handle frames by switching from the main page to the frame. To work with elements inside a frame, first, we have to identify the frame with the help of locators. The method contentFrame is used to access the elements inside the frame.
Syntax
const f = await page.$("frame[name='frame-bottom']") const m = await f.contentFrame()
Let us see the html code of an element inside a frame and obtain the text - BOTTOM inside it.
The tagname highlighted in the above image is frame and the value of its name attribute is frame-bottom.
Example
Code Implementation
//Puppeteer library const pt= require('puppeteer') async function frameHandle(){ //launch browser in headless mode const browser = await pt.launch() //browser new page const page = await browser.newPage() //launch URL await page.goto('https://the-internet.herokuapp.com/nested_frames') //identify frame const f = await page.$("frame[name='frame-bottom']") //move to frame const x = await f.contentFrame(); //identify element inside frame const n = await x.$("body") //get text const v = await (await n.getProperty("textContent")).jsonValue() console.log(v) } frameHandle()
Output
Advertisements