如何根据Id选择元素?

Joh*_*cht 16 playwright

我想知道如何通过 ID 访问元素。我想提交一份表格。

  • await page.click("id= 'next'");--> 不可能
  • await page.getByRole('button', { id: 'next' }).click();--> 无法编译
  • await page.getByRole('button', { name: 'Sign in' }).click();--> 可以工作,但依赖于语言

对我来说,通过 ID 选择元素似乎是最可靠的。我错过了什么吗?

Bas*_*sti 21

你可以这样做:

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

要不就

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

Playwright 推荐了一些预定义的定位器,因此您还可以检查其中的一些定位器是否适合您的用例。


小智 13

第一个示例中缺少的是方括号,而不是:

await page.click("id= 'next'");
Run Code Online (Sandbox Code Playgroud)

你应该做这个:

await page.click("[id='next']");
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用其他答案中提到的速记版本