名称选择器和类名称选择器

让我们从了解名称选择器开始。

名称选择器

一旦我们导航到网页,我们必须与页面上可用的 Web 元素进行交互,例如单击链接/按钮、在编辑框中输入文本等,以完成我们的自动化测试用例。

为此,我们的首要任务是识别元素。如果 name 属性的值在页面中仅使用一次,我们可以将其用作名称选择器。如果有多个元素具有相同的名称,则仅应识别页面上第一个匹配的元素。

语法

名称选择器的语法如下 −

const f = await page.$('[name="search"]')

让我们识别下图中突出显示的编辑框并输入文本 −

Awake

上图中突出显示的元素的 name 属性值为 search。上述元素的名称选择器表达式应为 [name="search"]。

首先,按照 Puppeteer 基础测试章节中的步骤 1 到 2 进行操作,如下所示 −

步骤 1 −在创建 node_modules 文件夹的目录(安装 Puppeteer 和 Puppeteer 核心的位置)内创建一个新文件。

有关 Puppeteer 安装的详细信息,请参阅 Puppeteer 安装一章。

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

Node Modules

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

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。

About Tutorialspoint

上述元素的 id 选择器表达式应为 .heading。

首先,按照 Puppeteer 基本测试章节中的步骤 1 到 2 进行操作,如下所示 −

步骤 1 −在创建 node_modules 文件夹的目录(安装 Puppeteer 和 Puppeteer 核心的位置)内创建一个新文件。

有关 Puppeteer 安装的详细信息,请参阅 Puppeteer 安装一章。

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

Node Modules

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

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
Base Terminal

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