/// <summary> /// A wrapper which converts strings with friendly-named special keys to be /// converted into the appropriate character codes. /// /// E.G. "Arrow_left" becomes '\uE012'.toString() /// </summary> /// <param name="driver"></param> /// <param name="elementId"></param> /// <param name="keysToSend"></param> public static void SendSpecialKeys(this DriverManager driver, string elementId, List <WebDriverKey> keys) { var stringToSend = new StringBuilder(); foreach (var key in keys) { if (key == WebDriverKey.Wait) { System.Threading.Thread.Sleep(1000); driver.SendKeys(elementId, stringToSend.ToString()); stringToSend = new StringBuilder(); } else { stringToSend.Append(GetWebDriverKeyString(key)); } } driver.SendKeys(elementId, stringToSend.ToString()); }
/// <summary> /// A wrapper which converts strings with friendly-named special keys to be /// converted into the appropriate character codes. /// /// E.G. "Arrow_left" becomes '\uE012'.toString() /// </summary> /// <param name="driver"></param> /// <param name="elementId"></param> /// <param name="keysToSend"></param> public static void SendSpecialKeys(this DriverManager driver, string elementId, string keysToSend) { var keystrings = keysToSend.Split(new string[] { "Wait" }, StringSplitOptions.RemoveEmptyEntries); foreach (var keystring in keystrings) { var changedKeystring = keystring; foreach (var key in specialKeys.Value) { changedKeystring = changedKeystring.Replace(key.Key, key.Value); } driver.SendKeys(elementId, changedKeystring); if (keystrings.ToList().IndexOf(keystring) < keystrings.Count() - 1) { System.Threading.Thread.Sleep(1000); } } }