Form1.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. using _Log;
  2. using OpenQA.Selenium;
  3. using OpenQA.Selenium.Chrome;
  4. using OpenQA.Selenium.Support.UI;
  5. using System;
  6. using System.Windows.Forms;
  7. namespace _09_C_WebDriver
  8. {
  9. public partial class Form1 : Form
  10. {
  11. Log log;
  12. IWebDriver driver;
  13. IJavaScriptExecutor js;
  14. public Form1()
  15. {
  16. InitializeComponent();
  17. log = new Log(textBox1);
  18. }
  19. private void btnOpen_Click(object sender, System.EventArgs e)
  20. {
  21. if (driver == null)
  22. {
  23. //driver = new ChromeDriver(".");
  24. driver = new ChromeDriver();
  25. js = driver as IJavaScriptExecutor;
  26. }
  27. }
  28. private void btnQuit_Click(object sender, System.EventArgs e)
  29. {
  30. if (driver != null)
  31. {
  32. driver.Quit();
  33. driver = null;
  34. }
  35. }
  36. private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  37. {
  38. if (driver != null)
  39. {
  40. driver.Quit();
  41. driver = null;
  42. }
  43. }
  44. private void btnNavigate_Click(object sender, System.EventArgs e)
  45. {
  46. driver.Navigate().GoToUrl("https://www.google.pl/");
  47. //WebDriverWait waiter = new WebDriverWait(driver, TimeSpan.FromSeconds(1));
  48. //waiter.Until(d => d.FindElement(By.XPath("//input[@name='q']")));
  49. //log.l($"completed: {driver.Url}");
  50. ////IWebElement inp = driver.FindElement(By.XPath("//input[@name='q']"));
  51. //IWebElement inp = driver.FindElement(By.Name("q"));
  52. ////inp.SendKeys("Ola ma psa" + OpenQA.Selenium.Keys.Enter);
  53. //inp.SendKeys("Ola ma psa");
  54. }
  55. private void btnLogoSrc_Click(object sender, EventArgs e)
  56. {
  57. js.ExecuteScript(@"
  58. var logo = document.querySelector('.lnXdpd');
  59. logo.removeAttribute('srcset');
  60. logo.src = 'https://assets.x-kom.pl/public-spa/xkom/7cbf82dd32ab7e88.svg';
  61. ");
  62. }
  63. private void btnLogoRemove_Click(object sender, EventArgs e)
  64. {
  65. js.ExecuteScript(@"
  66. //var logo = document.getElementById('hplogo');
  67. var logo = document.querySelector('.lnXdpd');
  68. logo.remove();
  69. ");
  70. }
  71. private void btnInput_Click(object sender, EventArgs e)
  72. {
  73. IWebElement inp = driver.FindElement(By.Name("q"));
  74. inp.SendKeys(
  75. string.Join("",
  76. OpenQA.Selenium.Keys.Backspace,
  77. OpenQA.Selenium.Keys.Backspace,
  78. OpenQA.Selenium.Keys.Backspace,
  79. OpenQA.Selenium.Keys.Backspace,
  80. OpenQA.Selenium.Keys.Backspace,
  81. OpenQA.Selenium.Keys.Backspace,
  82. OpenQA.Selenium.Keys.Backspace,
  83. OpenQA.Selenium.Keys.Backspace,
  84. OpenQA.Selenium.Keys.Backspace,
  85. OpenQA.Selenium.Keys.Backspace,
  86. OpenQA.Selenium.Keys.Backspace)
  87. +
  88. "Ala ma kota"); ;
  89. }
  90. private void btnClick_Click(object sender, EventArgs e)
  91. {
  92. IWebElement btn = driver.FindElement(By.Name("btnK"));
  93. //IWebElement btn = driver.FindElement(By.CssSelector(".gNO89b"));
  94. btn.Click();
  95. }
  96. private void btnIterates_Click(object sender, EventArgs e)
  97. {
  98. var inps = driver.FindElements(By.TagName("input"));
  99. int i = 0;
  100. foreach (var el in inps)
  101. {
  102. log.l($"{++i} tag: {el.TagName} name: {el.GetAttribute("name")} text:{el.Text}");
  103. }
  104. }
  105. private void btnAppendChild_Click(object sender, EventArgs e)
  106. {
  107. IWebElement inp = driver.FindElement(By.Name("q"));
  108. js.ExecuteScript(
  109. @"
  110. var h1 = document.createElement('h1');
  111. h1.innerHTML = 'WITAJ ŚWIECIE!!!!';
  112. //var div = document.querySelector('input[name=\'q\']').parentElement;
  113. var div = document.getElementsByName('q')[0].parentElement;
  114. div.appendChild(h1);
  115. ");
  116. }
  117. private void btnNavigate2_Click(object sender, EventArgs e)
  118. {
  119. driver.Navigate().GoToUrl("http://212.87.228.200:3000/user/login/");
  120. }
  121. private void btnInputs_Click(object sender, EventArgs e)
  122. {
  123. driver.FindElement(By.Id("user_name")).SendKeys("student");
  124. driver.FindElement(By.Id("password")).SendKeys("123456");
  125. }
  126. private void btnClick2_Click(object sender, EventArgs e)
  127. {
  128. driver.FindElement(By.CssSelector("button.ui.green.button")).Click();
  129. }
  130. }
  131. }