如何使用 playwright 获取 h1 标题的文本?

How to get the text of a h1 headline with playwright?

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

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


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

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

您应该像这样使用 innerTextinnerHtml

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

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

这两个方法会return<Promise<string>>

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

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

page.innerText("p") 将 return Helloworld!.

但是page.innerHtml("p")会return<a>Hey</a>Helloworld!

希望我的回答能帮到您。

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

常量榆树 = page.locator('h1.header');

举个例子。

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