Playwright performs several actionability checks for each action. These include verifying if an element is attached, visible, stable, and can receive events.
For instance, the page.click()
action supports a force
option that disables non-essential actionability checks. Here's how you can use it:
await page.click(selector, { force: true });
In this case, Playwright won't check if the target element can actually receive click events.
Playwright also provides assertion methods like fill()
. This method waits for an element to match a selector and pass actionability checks before focusing the element and filling it with text.
await page.fill(selector, 'Hello, World!');
However, if the target element isn't an <input>
, <textarea>
, or [contenteditable]
element, fill()
will throw an error.
Playwright's Locators let you create and dispatch events on elements. These events are composed by default, and you can make them cancelable or bubble by specifying additional options.
Lastly, the dragTo()
function allows you to bypass actionability checks using the force
option. You can also specify exact positions relative to the top-left corners of elements when dragging.
await source.dragTo(target, { force: true });
Remember, providing more context or rephrasing your question can help get a more accurate answer.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].