Expect 元素包含类名 puppeteer

Posted

技术标签:

【中文标题】Expect 元素包含类名 puppeteer【英文标题】:Expect element contains class name puppeteer 【发布时间】:2021-02-12 20:34:06 【问题描述】:

所以我有一个具有特定 id 的元素,比如说:#id = test.这个元素有一个类似 .form-thumbs-up 的类,我想断言这个元素在它的类中包含“thumbs-up”,但我不知道该怎么做。 我试过了

  const thumbsUp = await this.page.$('[id="test"]');
  const className = await thumbsUp.getProperty('className');
  expect(className).toContain('thumbs-up');

但我收到如下错误:Expected object: .... to contain value thumbs-up failed。 你知道如何解决它吗?也许我需要尝试另一种方法?

提前致谢!

【问题讨论】:

【参考方案1】:

getProperty 返回JS handle。你需要one more step 来获取字符串:

const className = await (await thumbsUp.getProperty('className')).jsonValue();

【讨论】:

以上是关于Expect 元素包含类名 puppeteer的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Selenium 和 VBA 识别包含特殊字符的元素类名

如何利用jQuery给匹配的元素添加多个类名

如果类名是数字,则无法按类名获取元素

如何获取具有多个类但只知道其中一个的元素的类名

C# html 敏捷包按类名获取元素

与 expect() 函数比较时,包含 List 的 Dartz Right 会抛出错误