如何通过剧作家获取h1标题的文本?

问题描述 投票:0回答:2

我想测试标题是否有特定的文字。有这个命令吗?

await page.goto(‘<http://localhost:3000/>');


expect(await page.$("data-testid=headline")).toBe("my headline")
playwright playwright-test
2个回答
10
投票

page.$()
仅返回:
<Promise<null|ElementHandle>>

您应该像这样使用

innerText
innerHtml

expect(await page.innerText("data-testid=headline")).toBe("my headline")

expect(await page.innerHtml("data-testid=headline")).toBe("my headline")

这两个方法都会返回

<Promise<string>>

innerText
仅返回文本,而
innerHtml
将返回其中的所有内容。例如:

<p>
  <a>Hey</a>
  Helloworld!
</p>

page.innerText("p")
将会回来
Helloworld!

但是

page.innerHtml("p")
会回来
<a>Hey</a>Helloworld!

希望我的回答可以帮助到你。


1
投票

使用 page.locator 和 CSS 选择器似乎是类似 CSS 的方法来查询元素引用。

const elm = page.locator('h1.header');

举个例子。

https://playwright.dev/docs/1.18/selectors#text-selector

© www.soinside.com 2019 - 2024. All rights reserved.