[C#] Selemium Tự động đăng nhập gmail bằng Chrome Driver
Hi! Chào các bạn, bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn sử dụng Selenium để tự động đăng nhập vào Gmail bằng lập trình C#. Vậy Selenium là gì? Selenium là một trong những công cụ kiểm thử phần mềm tự động mã nguồn mở (open source ...
Hi! Chào các bạn, bài viết hôm nay, mình sẽ tiếp tục hướng dẫn các bạn sử dụng Selenium để tự động đăng nhập vào Gmail bằng lập trình C#.
Vậy Selenium là gì?
Selenium là một trong những công cụ kiểm thử phần mềm tự động mã nguồn mở (open source test automation tool) mạnh mẽ nhất hiện nay cho việc kiểm thử ứng dụng Web. Selenium script có thể chạy được trên hầu hết các trình duyệt như IE, Mozilla FireFox, Chrome, Safari, Opera; và hầu hết các hệ điều hành như Windows, Mac, Linux.
Source code C#:
try { //get row handle var driverService = ChromeDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; ChromeOptions options = new ChromeOptions(); options.AddArguments("--incognito"); options.AddArgument(@"--start-maximized"); var driver = new ChromeDriver(driverService, options); driver.Navigate().GoToUrl("https://accounts.google.com/signin/v2/identifier?uilel=3&hl=en&passive=true&service=youtube&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Fhl%3Den%26next%3D%252F%26action_handle_signin%3Dtrue%26app%3Ddesktop&flowName=GlifWebSignIn&flowEntry=ServiceLogin"); //driver.Manage().Window.Minimize(); IWebElement query = driver.FindElement(By.CssSelector("input[type='email']")); query.SendKeys(email); query = driver.FindElement(By.CssSelector("div#identifierNext")); query.Click(); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); query = driver.FindElement(By.CssSelector("input[name='password']")); query.SendKeys(password); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); Thread.Sleep(500); query = driver.FindElement(By.XPath(".//*[@id='passwordNext']//content//span")); query.Click(); Thread.Sleep(1000); try { string a = driver.FindElement(By.CssSelector("h1#headingText")).Text; if (a.Contains("Verify it's you")) { MessageBox.Show("Verify it's you"); Thread.Sleep(int.Parse(txt_verify.Text) * 1000); } } catch (Exception) { } Thread.Sleep(6000); driver.Navigate().GoToUrl(video); //driver.Manage().Window.Maximize(); subscribe-button Thread.Sleep(500); //driver.Manage().Window.Maximize(); // ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", query); ((IJavaScriptExecutor)driver).ExecuteScript("window.scrollBy(0, 150)"); //Thread.Sleep(100); //query = driver.FindElement(By.XPath("//*[@id=button]")); //query.Click(); //Thread.Sleep(1000); Verify it's you //query = driver.FindElement(By.Id("placeholder-area")); //query.Click(); Thread.Sleep(timer * 1000); driver.Quit(); int row = findIndexByValue(email); SetRowColorGridView(row); } catch (Exception) { }
HAVE FUN :)