Puppeteer 简明教程

Puppeteer - Handling Tabs

我们可以使用以下方法在 Puppeteer 中处理选项卡 -

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()

首先,按照人偶基本测试章节执行步骤 1 至 2,如下所示 -

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

Step 1 - 在创建 node_modules 文件夹的目录中创建一个新文件(人偶和人偶核已安装的位置)。

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.

右击创建 node_modules 文件夹的文件夹,然后点击新建文件按钮。

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

node modules

Step 2 - 输入文件名,如 testcase1.js。

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

testcase1 js

Step 3 - 将以下代码添加到新创建的 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 - 使用以下命令执行代码 -

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

命令成功执行后,将在页面目录中创建一个名为 tutorialspoint.png 的新文件。其中包含在浏览器中启动的页面的截屏截图。

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.