Playright supports different types of locators: CSS, XPath, internal.
They can mixed and matched by chaining the together.
Also, you can register custom selector engines that run right in the browser (Javascript).
There is no official documentation, since this is considered Playwright internal.
References:
Summary
Functions
Searches for a selector in any frame below the current frame.
Restricts a selector to visible or hidden elements.
Types
Functions
Searches for a selector in any frame below the current frame.
This is the selector-building equivalent of calling Playwright 1.63's
frameLocator() without an iframe selector.
@spec button(String.t(), exact_opts()) :: built()
@spec label(nil | String.t(), exact_opts()) :: t()
@spec link(String.t(), exact_opts()) :: built()
@spec none() :: t()
@spec role(String.t(), String.t(), exact_opts()) :: built()
@spec text(nil | String.t(), exact_opts()) :: t()
Restricts a selector to visible or hidden elements.
This is the selector-building equivalent of Playwright 1.63's
locator.visible() API.