public IWebDriver Frame(int frameIndex) { logger_.Log(TraceLevel.Debug, Stage.General, StageType.Called, new { frameIndex }); // Finding the target element so and reporting it using onWillSwitch. ReadOnlyCollection <IWebElement> frames = driver_.FindElements(By.CssSelector("frame, iframe")); if (frameIndex >= frames.Count) { throw new NoSuchFrameException(string.Format("Frame index [{0}] is invalid!", frameIndex)); } IWebElement targetFrame = frames[frameIndex]; WillSwitchToFrame_(targetFrame); return(driver_); }
public IWebDriver Frame(int frameIndex) { logger_.Verbose("({0})", frameIndex); // Finding the target element so and reporting it using onWillSwitch. logger_.Verbose("Getting frames list..."); ReadOnlyCollection <IWebElement> frames = driver_.FindElements(By.CssSelector("frame, iframe")); if (frameIndex >= frames.Count) { throw new NoSuchFrameException(string.Format("Frame index [{0}] is invalid!", frameIndex)); } logger_.Debug("Done! getting the specific frame..."); IWebElement targetFrame = frames[frameIndex]; logger_.Debug("Done! Making preparations..."); WillSwitchToFrame_(targetFrame); logger_.Debug("Done! Switching to frame..."); targetLocator_.Frame(frameIndex); logger_.Verbose("Done!"); return(driver_); }