I've added Selenium WebDriver to the Powershell and create WebDriver instance:
Add-Type -path C:\Windows\net40\WebDriver.dll
$driver = New-Object OpenQA.Selenium.Firefox.FirefoxDriver
$driver.Url = "https://www.google.com"
Now I want to find input field:
$singleRecord = ($driver.FindElementByCssSelector("input.gbqfif"))
I found several examples how to "Test if element is present" in C#:
Selenium WebDriver - Test if element is present
Selenium c# Webdriver: Wait Until Element is Present
There is also guide here:
IWebDriver driver = new FirefoxDriver();
driver.Url = "http://somedomain/url_that_delays_loading";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("someDynamicElement"));
});
but I cannot create something similar in Powershell, and almost all my tests fails because it takes time for page to load elements.