I'm using Selenium ChromeDriver v2.40, Chrome version 67.
var driver = Browser.GetChromeDriver();
driver.Navigate().GoToUrl(url);
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
var abc=driver.FindElement(By.XPath("//*[@id='pdp-size-select']"));
var aaa=wait.Until(d => d.FindElement(By.XPath("//*[@id='pdp-size-select']")));
abc.Click(); // failed because elementisnotvisible
the above two findelement works fine, can get value but cannot click because the element is not visible
so i go on to try ExpectedConditions, and no luck with this:
wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='pdp-size-select']")));
Above code returns:
OpenQA.Selenium.WebDriverTimeoutException: 'Timed out after 10 seconds'
Does it have any backward compatibility issues with Chrome v67?