Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. // Example of extensions for IWebElement
  2. using System.Collections.ObjectModel;
  3.  
  4. namespace OpenQA.Selenium.Extensions
  5. {
  6. public static class WebElement
  7. {
  8. public static void ClearAndSendKeys(this IWebElement webElement, string keys)
  9. {
  10. webElement.Clear();
  11. webElement.SendKeys(keys);
  12. }
  13.  
  14. public static IWebElement FindElementByCss(this IWebElement we, string css)
  15. => we.FindElement(By.CssSelector(css));
  16.  
  17. public static ReadOnlyCollection<IWebElement> FindElementsByCss(this IWebElement we, string css)
  18. => we.FindElements(By.CssSelector(css));
  19.  
  20. public static void Mark(this IWebElement we) => MarkElement(we, true);
  21. public static void Unmark(this IWebElement we) => MarkElement(we, false);
  22.  
  23. private static void MarkElement(IWebElement we, bool isChecked)
  24. {
  25. if (we.Selected != isChecked)
  26. we.Click();
  27. }
  28.  
  29. public static void Mark(this ReadOnlyCollection<IWebElement> e) => MarkElements(e, true);
  30. public static void Unmark(this ReadOnlyCollection<IWebElement> e) => MarkElements(e, false);
  31.  
  32. private static void MarkElements(ReadOnlyCollection<IWebElement> elements, bool isChecked)
  33. {
  34. foreach (var element in elements)
  35. {
  36. MarkElement(element, isChecked);
  37. }
  38. }
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement