First, you need to install the PlaywrightSharp
NuGet package. Run this command in your project directory:
dotnet add package PlaywrightSharp
Then, create a new Playwright
instance and launch a browser:
using var playwright = await Playwright.CreateAsync();
using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
To wait for an object to appear on the page, use the WaitForSelectorAsync
method. This method takes a CSS selector string and an optional timeout value (in milliseconds):
await page.GoToAsync("https://ray.run");
var elementHandle = await page.WaitForSelectorAsync("#my-element", timeout: 5000);
Here, we're waiting for an element with ID "my-element" to appear on the page within 5 seconds. The WaitForSelectorAsync
method returns an ElementHandle
, which represents the DOM element matching our selector.
If you want to wait for an object to disappear from the page, pass { state: "hidden" }
as options:
await page.GoToAsync("https://ray.run");
await page.WaitForSelectorAsync("#my-element", new WaitForStateOptions { State = WaitForState.Hidden });
This waits until there are no longer any visible or attached elements matching our selector. Using Playwright's built-in waiting methods like WaitForSelectorAsync
ensures that your automation scripts only interact with objects that are actually present on the web page.
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].