- [DATABASE] Copy cấu trúc bảng table trong sqlserver
- [C#] Copy File Share trong mạng Lan với chứng thực tài khoản Domain với tên đăng nhập và mật khẩu
- [C#] Hướng dẫn tích hợp gõ tiếng việt VietKey vào Winform
- [C#] Ẩn ứng dụng winform từ Apps vào Background Process trên Task Manager
- [SQLSERVER] Xử lý ngoại lệ sử dụng TRY...CATCH và RAISEERROR
- [C#] Bắt sự kiện bàn phím chuột bên ngoài ứng dụng winform sử dụng thư viện MouseKeyHook
- [DEVEXPRESS] Đặt mật khẩu và bỏ mật khẩu tập tin file PDF
- [C#] Thêm ứng dụng vào Taskbar sử dụng SharpShell DeskBand
- [C#] Hướng dẫn thêm text vào hình ảnh icon winform
- [C#] Chia sẽ tổng hợp source code đồ án về Csharp
- [C#] Hướng dẫn viết ứng dụng quay màn hình video winform, Screen Recorder
- [C#] Hướng dẫn sử dụng thư viện Input Simulator để làm việc với Keyboard, Mouse Virtual
- [DEVEXPRESS] Hướng dẫn tích Filter Contain khi click chuột phải vào cell selection trên Gridview
- [C#] Tra cứu mã số thuế cá nhân bằng CMND hoặc CCCD
- [C#] Convert hình ảnh image thành Blurhash sử dụng trong loading image winform
- [POWERSHELL] Script sao lưu backup và nén database sqlserver
- [C#] Giới thiệu thư viện Autofac Dependency Injection
- [C#] Hướng dẫn tạo Windows Services đơn giản Winform
- [C#] Một click chuột điều khiển máy tính từ xa sử dụng Ultraviewer
- Hướng dẫn đóng gói phần mềm sử dụng Powershell biên dịch script thành file exe
[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 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 :)