就像可以使用选择id一样
await page.locator("#YourId").click()
剧本里有data-testid简写吗?我试过了
data-testid
await page.locator("#YourData-testid").click()
我希望单击带有data-testid的元素,但它不适合单击操作。
nqwrtyyt1#
id的简写符号#实际上是由CSS选择器提供的/,这是.locator()所使用的,因为data-testid对css选择器没有什么特殊之处,因为它不用于样式,所以css选择器的唯一方法是使用属性表示法:
#
.locator()
.locator(’[data-testid=“value”]’)
也就是说,Playwright确实提供了.getByTestId()方便的方法来通过该属性进行选择:
.getByTestId()
.getByTestId(‘value’)
jvlzgdj92#
我认为您正在寻找CSS attribute selector。在本例中,您需要类似于page.locator('[data-testid="YourData"]')此处提供更多示例
page.locator('[data-testid="YourData"]')
2条答案
按热度按时间nqwrtyyt1#
id的简写符号
#
实际上是由CSS选择器提供的/,这是.locator()
所使用的,因为data-testid对css选择器没有什么特殊之处,因为它不用于样式,所以css选择器的唯一方法是使用属性表示法:也就是说,Playwright确实提供了
.getByTestId()
方便的方法来通过该属性进行选择:jvlzgdj92#
我认为您正在寻找CSS attribute selector。在本例中,您需要类似于
page.locator('[data-testid="YourData"]')
此处提供更多示例