public override IElement GetElement(string fieldSelector, MatchConditions conditions) { var element = _driver.FindElement(BySizzle.CssSelector(fieldSelector)); ValidateElement(element, fieldSelector, conditions); return(new Element(_driver, element, fieldSelector)); }
public override void ClickWithin(string selector, Point point) { var container = _driver.FindElement(BySizzle.CssSelector(selector)); (new OpenQA.Selenium.Interactions.Actions(_driver)) .MoveToElement(container, point.X, point.Y) .Click() .Build() .Perform(); }
public IWebElement GetWebElement(bool fetchNew) { if (fetchNew) { return(_driver.FindElement(BySizzle.CssSelector(_fieldSelector))); } else { return(_element); } }
public override IElement[] GetElements(string fieldSelector, MatchConditions conditions) { var elements = _driver.FindElements(BySizzle.CssSelector(fieldSelector)); foreach (var element in elements) { ValidateElement(element, fieldSelector, conditions); } return(elements.Select(e => new Element(_driver, e, fieldSelector)).ToArray()); }
public override void Upload(string fileName, string fieldSelector, API.Point offset, MatchConditions conditions) { if (_browserType == BrowserType.InternetExplorer) { throw new FeatureNotImplementedException("SeleniumWebDriver+InternetExplorer File Upload"); } var element = _driver.FindElement(BySizzle.CssSelector(fieldSelector)); var t = System.Threading.Tasks.Task.Factory.StartNew(() => { // Dirty I know.. Need to guarantee the dialog opens before we start sending key events. int sleepTime = 0; switch (_browserType) { case BrowserType.Firefox: sleepTime = 1000; break; case BrowserType.Chrome: sleepTime = 1500; break; } Thread.Sleep(sleepTime); CommandManager.SendString(fileName + "~"); }, System.Threading.Tasks.TaskCreationOptions.LongRunning); if (offset == null) { element.Click(); } else { this.ClickWithin(fieldSelector, offset); } t.Wait(); }