Ví dụ: Các bạn viết một ứng dụng kiểm tra kết nối mạng trong hệ thống.
Khi có sự cố về hệ thống mạng timeout thì hệ thống sẽ tự động gọi đến số facebook của chúng ta để chúng ta biết ngay lập tức để khắc phục.
Tùy theo nhu cầu sử dụng của các bạn, mình nghĩ bài viết này sẽ giúp ích được cho bạn nào đang cần sử dụng.
Trong chương trình, mình sẽ sử dụng Selemium trong Chrome để nó tự động đăng nhập vào website facebook messager.
Và sau đó, là tiếp tục nhập đường dẫn tên bạn muốn gọi để phần mềm tự động gọi cho bạn.
Lưu ý, trên máy tính bàn để nó thực hiện được cuộc gọi các bạn cần phải gắn MicroPhone vào thì nó mới gọi được nhé các bạn.
Trong bài viết này mình chỉ chia sẽ cho các bạn đoạn kịch bản (script) để tự động thực hiện cuộc gọi thôi, chứ mình không nhắc về cách sử dụng Selemium C# như thế nào nữa.
Để tìm hiểu về Selemium, các bạn có thể tìm đọc ở các bài trước trên trang của mình nhé.
Source code Call Facebook Messager C#:
public void CallFacebook(string email, string password, string user_receive) { try { var driverService = ChromeDriverService.CreateDefaultService(); driverService.HideCommandPromptWindow = true; ChromeOptions options = new ChromeOptions(); options.AddArgument(Application.StartupPath + "chromedriver.exe"); options.AddArguments("--incognito"); options.AddArgument(@"--start-maximized"); options.AddArgument(@"--disable-infobars"); //options.AddArgument("user-data-dir=/some/path/allow-camera"); options.AddArgument("--disable-user-media-security=true"); options.AddArgument("--use-fake-ui-for-media-stream=1"); //var caps = new DesiredCapabilities(); options.AddArgument("headless"); options.AddArgument("window-size=1200x600"); // optional var driver = new ChromeDriver(driverService, options); driver.Navigate().GoToUrl("https://www.messenger.com/login.php"); Thread.Sleep(1000); //driver.Manage().Window.Minimize(); IWebElement query = driver.FindElement(By.CssSelector("#email")); query.SendKeys(email); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); query = driver.FindElement(By.CssSelector("#pass")); query.SendKeys(password); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10); Thread.Sleep(500); query = driver.FindElement(By.CssSelector("#loginbutton")); query.Click(); Thread.Sleep(1000); driver.Navigate().GoToUrl(user_receive); Thread.Sleep(1000); query = driver.FindElement(By.XPath(".//*[@data-testid='startVoiceCall']")); query.Click(); Thread.Sleep(5000); driver.Quit(); } catch (Exception ex) { } }
Video demo ứng dụng:
Trong video mình demo cho các bạn ở trên là các bạn thấy nó mở trình duyệt lên và tự động điền thông tin vào.
Các bạn chỉ cần thêm 2 option sau vào chrome driver thì selemium sẽ tự động chạy ngầm, và không hiển thị giao diện web lên.
options.AddArgument("headless"); options.AddArgument("window-size=1200x600"); // optional
Chúc các bạn thành công với thủ thuật này.
Theo LapTrinhVB.Net