typescript实现验证表格数据

import { chromium } from 'playwright'; (async () => { const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); // 跳转到表格页面 await page.goto('https://example.com/table'); 

 

import { chromium } from 'playwright'; (async () => { const browser = await chromium.launch({ headless: false }); const context = await browser.newContext(); const page = await context.newPage(); // 跳转到表格页面 await page.goto('https://example.com/table'); 

 

// 正则表达式,用于验证日期格式 const dateRegex = /\d{4}-\d{2}-\d{2}/; // 获取所有表格行 const rows = await page.$$('div.table-row'); let foundDataCount = 0; // 循环遍历每个表格行 for (const row of rows) { // 获取日期、姓名、年龄单元格 const dateCell = await row.$('div:nth-child(1)'); const nameCell = await row.$('div:nth-child(2)'); const ageCell = await row.$('div:nth-child(3)'); 

 

    // 如果单元格都存在,获取单元格的文本内容

    if (dateCell && nameCell && ageCell) {

      const [date, name, age] = await Promise.all([

        dateCell.textContent(),

        nameCell.textContent(),

        ageCell.textContent(),

      ]);

 

      // 判断是否为需要查找的数据

      if (dateRegex.test(date) && name === data1.name && age === data1.age) {

        foundDataCount++;

      }

if (dateRegex.test(date) && name === data2.name && age === data2.age) {

        foundDataCount++;

      }

    }

  }

 

  // 验证查找到的数据数量是否为2

  expect(foundDataCount).toBe(2);

 

  // 关闭浏览器

  await browser.close();

})();

 

第11-13行:使用 waitForSelector 等待表格数据加载完成。

第20-23行:使用 XPath 定位每个单元格,以获取文本内容。

第29-32行:使用 Promise.all 一次性获取每个单元格的文本内容。

第35-39行:使用 textContent 属性获取单元格文本内容,以提高性能。

第6行和7行:由于页面中使用的是 div,因此需要修改选择器。此外,还需要注意使用 nth-child 选择器定位每个单元格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值