我可以使用 # 通过 data-testid 选择一个元素吗?

Pal*_*avi 4 element typescript playwright

就像可以使用选择 id 一样

await page.locator("#YourId").click()
Run Code Online (Sandbox Code Playgroud)

data-testidin playwright-typescript有简写吗?

我试过

await page.locator("#YourData-testid").click()
Run Code Online (Sandbox Code Playgroud)

我期望单击带有 的元素,data-testid但未找到该元素以进行单击操作。

小智 10

id 的简写符号#实际上特定于 CSS 选择器/由 CSS 选择器提供,这就是.locator(). 由于 data-testid 对于 css 选择器来说没什么特别的,因为它\xe2\x80\x99s 不用于样式,所以使用 css 选择器的唯一方法是使用属性表示法:

\n
.locator(\'[data-testid="value"]\')\n
Run Code Online (Sandbox Code Playgroud)\n

话虽如此,Playwright 确实提供了通过该属性进行选择的便捷方法.getByTestId()

\n
.getByTestId(\'value\')\n
Run Code Online (Sandbox Code Playgroud)\n