Puppeteer – Handling Tabs


Puppeteer – Handling Tabs



”;


We can handle tabs in Puppeteer using the below methods −

newPage()

We can open a new tab using this method available in the browser object.

Syntax

The syntax is as follows −


const p = await browser.newPage()

close()

We can close the tab opened using this method.

Syntax

The syntax is as follows −


await p.close()

close()

We can close all the tabs opened using this method available in the browser object.

Syntax

The syntax is as follows −


await browser.close()

To begin, follow Steps 1 to 2 from the Chapter of Basic Test on Puppeteer which are as follows −

Step 1 − Create a new file within the directory where the node_modules folder is created (location where the Puppeteer and Puppeteer core have been installed).

The details on Puppeteer installation is discussed in the Chapter of Puppeteer Installation.

Right-click on the folder where the node_modules folder is created, then click on the New file button.


Node Modules

Step 2 − Enter a filename, say testcase1.js.


Testcase1.JS

Step 3 − Add the below code within the testcase1.js file created.


//adding Puppeteer library
const pt = require(''puppeteer'')
pt.launch().then(async browser => {
   //browser new page
   const p = await browser.newPage();
   //set viewpoint of browser page
   await p.setViewport({ width: 1000, height: 500 })
   //launch URL
   await p.goto(''https://www.tutorialspoint.com/index.htm'')
   //capture screenshot
   await p.screenshot({
      path: ''tutorialspoint.png''
   });
   //browser close
   await browser.close()
})

Step 4 − Execute the code with the command given below −


node <filename>

So in our example, we shall run the following command −


node testcase1.js


Tutorialspoint

After the command has been successfully executed, a new file called the tutorialspoint.png gets created within the page directory. It contains the captured screenshot of the page launched in the browser.

Advertisements

”;

Leave a Reply

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