名称选择器和类名称选择器
让我们从了解名称选择器开始。
名称选择器
一旦我们导航到网页,我们必须与页面上可用的 Web 元素进行交互,例如单击链接/按钮、在编辑框中输入文本等,以完成我们的自动化测试用例。
为此,我们的首要任务是识别元素。如果 name 属性的值在页面中仅使用一次,我们可以将其用作名称选择器。如果有多个元素具有相同的名称,则仅应识别页面上第一个匹配的元素。
语法
名称选择器的语法如下 −
const f = await page.$('[name="search"]')
让我们识别下图中突出显示的编辑框并输入文本 −

上图中突出显示的元素的 name 属性值为 search。上述元素的名称选择器表达式应为 [name="search"]。
首先,按照 Puppeteer 基础测试章节中的步骤 1 到 2 进行操作,如下所示 −
步骤 1 −在创建 node_modules 文件夹的目录(安装 Puppeteer 和 Puppeteer 核心的位置)内创建一个新文件。
有关 Puppeteer 安装的详细信息,请参阅 Puppeteer 安装一章。
右键单击创建 node_modules 文件夹的文件夹,然后单击新建文件按钮。

步骤 2 − 输入文件名,例如 testcase1.js。

步骤 3 −在创建的 testcase1.js 文件中添加以下代码。
//Puppeteer 库 const pt= require('puppeteer') async function selectorName(){ //以 headless 模式启动浏览器 const browser = await pt.launch() //浏览器新页面 const page = await browser.newPage(); //启动 URL await page.goto('https://www.tutorialspoint.com/index.htm') //用名称标识编辑框 const f = await page.$('[name="search"]') //输入文本 f.type("Puppeteer") //等待一段时间 await page.waitForTimeout(4000) //浏览器关闭 await browser.close() } selectorName()
步骤 4 − 使用下面给出的命令执行代码 −
node <filename>
因此在我们的示例中,我们将运行以下命令 −
node testcase1.js
类名选择器
一旦我们导航到网页,我们必须与页面上可用的 Web 元素进行交互,例如单击链接/按钮、在编辑框中输入文本等,以完成我们的自动化测试用例。
为此,我们的首要任务是识别元素。如果类名在页面中仅使用一次,我们可以将其用作类名选择器。如果有多个元素具有相同的类名,则仅应识别页面上第一个匹配的元素。
语法
类名选择器的语法如下 −
const n = await page.$(".txtloc")
在下面的示例中,让我们识别具有类名标题的突出显示元素并获取其文本 - 关于 Tutorialspoint。

上述元素的 id 选择器表达式应为 .heading。
首先,按照 Puppeteer 基本测试章节中的步骤 1 到 2 进行操作,如下所示 −
步骤 1 −在创建 node_modules 文件夹的目录(安装 Puppeteer 和 Puppeteer 核心的位置)内创建一个新文件。
有关 Puppeteer 安装的详细信息,请参阅 Puppeteer 安装一章。
右键单击创建 node_modules 文件夹的文件夹,然后单击新建文件按钮。

步骤 2 − 输入文件名,例如 testcase1.js。

步骤 3 −在创建的 testcase1.js 文件中添加以下代码。
//Puppeteer 库 const pt= require('puppeteer') async function getText(){ //以 headless 模式启动浏览器 const browser = await pt.launch() //浏览器新页面 const page = await browser.newPage() //启动 URL await page.goto('https://www.tutorialspoint.com/about/about_careers.htm') //通过类名识别元素 const f = await page.$(".heading") //获取文本 const text = await (await f.getProperty('textContent')).jsonValue() console.log("Text is: " + text) } getText()
步骤 4 − 使用下面给出的命令执行代码 −
node <filename>
因此在我们的示例中,我们将运行以下命令 −
node testcase1.js

命令成功执行后,元素 - About Tutorialspoint 的文本将在控制台中打印。