Puppeteer - 属性选择器
一旦我们导航到网页,我们必须与页面上可用的网络元素进行交互,例如单击链接/按钮、在编辑框中输入文本等,以完成我们的自动化测试用例。
为此,我们的首要任务是识别元素。如果属性及其值在标签中仅使用一次,我们可以将其用作属性选择器。如果有多个元素具有相同的属性值,则仅识别页面上第一个匹配的元素。
语法
属性选择器的语法如下 −
const f = await page.$("ul[name='val']")
这里,ul 是标签名,val 是 name 属性设置的值。
在下图中,让我们获取突出显示元素的文本 - 关于教程点 −

上述元素的属性选择器表达式应为 li[class='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 selectorAttribute(){ //以 headed 模式启动浏览器 const browser = await pt.launch() //浏览器新页面 const page = await browser.newPage() //启动 URL await page.goto('https://www.tutorialspoint.com/about/about_careers.htm') //使用属性选择器识别元素 const n = await page.$("li[class='heading']") //获取文本 const t = await (await n.getProperty('textContent')).jsonValue() console.log("Obtained text is: " + t) } selectorAttribute()
步骤 4 − 使用下面给出的命令执行代码 −
node <filename>
因此在我们的示例中,我们将运行以下命令 −
node testcase1.js

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