public ZoomModel(string username, string password, BackgroundWorker bw, bool justZoom) { bool looping = true; while (looping) { ChromeDriverService service = ChromeDriverService.CreateDefaultService(App.Folder); service.HideCommandPromptWindow = true; ChromeOptions options = new ChromeOptions(); options.AddArgument("start-maximized"); options.AddArgument("user-data-dir=" + App.Folder + "profileZB"); IWebDriver driver = new ChromeDriver(service, options); driver.Navigate().GoToUrl("http://members.grabpoints.com/#/login?email=" + username); try { //driver.FindElement(By.Name("email")).SendKeys(username); //driver.FindElement(By.Name("email")).SendKeys(Keys.Enter); ////Helpers.wait(5000); driver.FindElement(By.Id("password")).SendKeys(password); driver.FindElement(By.ClassName("btn-block")).Click(); } catch { } Helpers.wait(10000); if (!justZoom) { try { int counter = 0; IList<IWebElement> turnOffNotifcations = driver.FindElements(By.ClassName("btn-block")); foreach (IWebElement turnOffNotication in turnOffNotifcations) { if (counter == turnOffNotifcations.Count - 1) { turnOffNotication.Click(); } counter++; } } catch { } int hr = DateTime.Now.Hour; try { driver.Navigate().GoToUrl("http://members.grabpoints.com/#/offers/watch_videos"); } catch { } while (!viroolBool) { try { System.Collections.ObjectModel.ReadOnlyCollection<string> windowHandles = driver.WindowHandles; foreach (String window in windowHandles) { try { IWebDriver popup = driver.SwitchTo().Window(window); } catch { } try { if (driver.Title.Contains("Facebook")) { driver.Close(); } } catch { } try { IList<IWebElement> surveys = driver.FindElements(By.ClassName("btn-block")); if (surveys.Count > 2) { driver.FindElement(By.ClassName("btn-block")).Click(); } } catch { } if (!junVideos) junVids(driver); if (!volume) volume11(driver); if (volume && junVideos && !viroolBool) virool(driver); Helpers.wait(5000); } } catch { } } Helpers.closeWindows(driver, titles); driver.Close(); driver.Quit(); hr = DateTime.Now.Hour; while (DateTime.Now.Hour == hr) { } junVideos = false; volume = false; viroolBool = false; } else { looping = false; } } }
private static void Main(string[] args) { IWebDriver driver = new ChromeDriver("C:\\"); driver.Navigate().GoToUrl("file:///C:/Users/anil.krishnamaneni/Desktop/New%20Text%20Document.html"); var coll = driver.FindElements(By.TagName("label")); foreach (var label in coll) { if (label.Text.Trim() == "welcome to Ding") { label.Click(); break; } } var alert = driver.WaitGetAlert(); IAlert a = driver.SwitchTo().Alert(); a.Accept(); driver.FindElement(By.TagName("Input")).Click(); a = driver.SwitchTo().Alert(); a.Accept(); driver.FindElement(By.ClassName("submit")).Click(); a = driver.SwitchTo().Alert(); a.Accept(); }
/// <summary> /// 未使用 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { _url = "https://www.net.city.nagoya.jp/cgi-bin/sp01001"; OpenQA.Selenium.Chrome.ChromeDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(); driver.Url = _url; //利用者番号 IWebElement id = driver.FindElement(By.Name("id")); id.SendKeys("1278192"); //暗証番号 IWebElement pass = driver.FindElement(By.Name("pass")); pass.SendKeys("1234"); //地域 SelectElement area = new SelectElement(driver.FindElement(By.Name("area"))); area.SelectByValue("04"); //利用施設 SelectElement sisetu = new SelectElement(driver.FindElement(By.Name("sisetu"))); sisetu.SelectByValue("5102"); //種目 SelectElement syumoku = new SelectElement(driver.FindElement(By.Name("syumoku"))); syumoku.SelectByValue("001"); //利用月日 SelectElement month = new SelectElement(driver.FindElement(By.Name("month"))); month.SelectByValue("09"); SelectElement day = new SelectElement(driver.FindElement(By.Name("day"))); day.SelectByValue("06"); //供用区分 SelectElement time = new SelectElement(driver.FindElement(By.Name("time"))); time.SelectByValue("03"); //申込 IWebElement B1 = driver.FindElement(By.Name("B1")); B1.Click(); //ダイアログ OpenQA.Selenium.IAlert alert = driver.SwitchTo().Alert(); alert.Accept(); }
public static void Browse(string username, Action<SouthwindBrowser> action) { var selenium = new ChromeDriver(); var browser = new SouthwindBrowser(selenium); try { browser.Login(username, username); action(browser); } catch (UnhandledAlertException) { selenium.SwitchTo().Alert(); } finally { selenium.Close(); } }
static void Run(string[] args) { var chromeDriverPath = string.Concat(AppDomain.CurrentDomain.BaseDirectory, "driver"); bool enableCustomJustification = false; string urlLogin = ConfigurationManager.AppSettings[CONFIG_PONTO_LOGIN_URL]; if (string.IsNullOrEmpty(urlLogin)) throw new InvalidOperationException(string.Format("Url de login do sistema de ponto não definida! Verifique a chave \"{0}\" no app.config.", CONFIG_PONTO_LOGIN_URL)); string username = ConfigurationManager.AppSettings[CONFIG_USERNAME]; if (string.IsNullOrEmpty(username)) throw new InvalidOperationException(string.Format("Nome de usuário não configurado! Verifique a chave \"{0}\" no app.config.", CONFIG_USERNAME)); string password = ConfigurationManager.AppSettings[CONFIG_PASSWORD]; if (string.IsNullOrEmpty(password)) throw new InvalidOperationException(string.Format("Senha de usuário não configurada! Verifique a chave \"{0}\" no app.config.", CONFIG_PASSWORD)); if (!bool.TryParse(ConfigurationManager.AppSettings[CONFIG_ENABLE_JUSTIFICATION], out enableCustomJustification)) enableCustomJustification = false; string inputApontamento = string.Empty; if (args == null || !args.Any()) { Console.WriteLine("Informe o apontamento: 1-Entrada. 2-Início almoço. 3-Volta Almoço. 4-Saída."); inputApontamento = Console.ReadLine(); } else { inputApontamento = args[0]; } Console.WriteLine(""); int apontamento = 0; if (!int.TryParse(inputApontamento, out apontamento)) throw new InvalidOperationException(string.Format("Apontamento não definido corretamente. Valor informado: \"{0}\"! Utilize: 1-Entrada. 2-Início almoço. 3-Volta Almoço. 4-Saída.", inputApontamento)); using (var driver = new ChromeDriver(chromeDriverPath)) { driver.Navigate().GoToUrl(urlLogin); var usernameField = driver.FindElementById("ctl00_m_g_1f2f91c5_726b_47c3_a64d_34117653e0e4_ctl00_signInControl_UserName"); var passwordField = driver.FindElementById("ctl00_m_g_1f2f91c5_726b_47c3_a64d_34117653e0e4_ctl00_signInControl_Password"); var buttonLogin = driver.FindElementById("ctl00_m_g_1f2f91c5_726b_47c3_a64d_34117653e0e4_ctl00_signInControl_LoginButton"); usernameField.Clear(); usernameField.SendKeys(username); passwordField.Clear(); passwordField.SendKeys(password); buttonLogin.Click(); IWait<IWebDriver> firstWait = new WebDriverWait(driver, TimeSpan.FromSeconds(90)); firstWait.Until(x => driver.FindElementById("entrada") != null); string btnApontamentoId = string.Empty; switch ((Apontamento)apontamento) { case Apontamento.ENTRADA: btnApontamentoId = "entrada"; break; case Apontamento.INICIO_ALMOCO: btnApontamentoId = "inicioAlmoco"; break; case Apontamento.VOLTA_ALMOCO: btnApontamentoId = "voltaAlmoco"; break; case Apontamento.SAIDA: btnApontamentoId = "saida"; break; } var btnApontamento = driver.FindElementById(btnApontamentoId); btnApontamento.Click(); IWait<IWebDriver> secondWait = new WebDriverWait(driver, TimeSpan.FromSeconds(90)); secondWait.Until(x => driver.FindElementById("entrada") != null); if ((Apontamento)apontamento == Apontamento.SAIDA) { try { driver.SwitchTo().DefaultContent(); var dialogIFrame = driver.FindElement(By.Id("")); driver.SwitchTo().Frame(dialogIFrame); var textAreaJustificativa = driver.FindElement(By.Id("ctl00_m_g_cac22e8d_9ad5_4163_b85d_7254c3524eac_ctl00_txtJustificativa")); var btnConfirmarJustificativa = driver.FindElement(By.Id("ctl00_m_g_cac22e8d_9ad5_4163_b85d_7254c3524eac_ctl00_btnSalvar")); string justificativa = "."; if (enableCustomJustification) { Console.WriteLine("::"); Console.WriteLine(":: Informe a justificativa das horas extras: "); justificativa = Console.ReadLine(); Console.WriteLine(); } textAreaJustificativa.SendKeys(justificativa); btnConfirmarJustificativa.Click(); IWait<IWebDriver> thirdWait = new WebDriverWait(driver, TimeSpan.FromSeconds(90)); thirdWait.Until(x => driver.FindElementById("entrada") != null); } catch(Exception ex) { Console.WriteLine(string.Concat("Erro: ", ex.Message)); Console.WriteLine("::"); Console.WriteLine("::"); Console.WriteLine(ex.ToString()); Console.WriteLine(""); } finally { driver.SwitchTo().DefaultContent(); } } driver.Close(); } }
static int Main(string[] args) { bool testDashboardOnly = false; if (testDashboardOnly) { // FIRST RUN: this requests access to ports Fiddler.FiddlerApplication.Startup(8877, Fiddler.FiddlerCoreStartupFlags.Default); var trafficSeesionItems = new List<Fiddler.Session>(); Fiddler.FiddlerApplication.AfterSessionComplete += delegate(Fiddler.Session session) { trafficSeesionItems.Add(session); }; // FIXME: would be nice to load a local dashboard, but if we open file:/// it will NOT generate HTTP traffic, how to log it then? string baseUrl = "http://zsolt-ws.isis.vanderbilt.edu/META/dashboards/36cfgs4tbs/"; var options = new ChromeOptions(); options.AddArgument("--allow-file-access-from-files"); options.AddArgument("--start-maximized"); //options.AddArgument("--enable-experimental-extension-apis"); // FIRST RUN: this requests access to ports IWebDriver driver = new ChromeDriver(@"..\..\..\..\3rdParty\chromedriver", options); driver.Navigate().GoToUrl(baseUrl); driver.SwitchTo().Frame(driver.FindElement(By.TagName("iframe"))); ITakesScreenshot screenshotDriver = driver as ITakesScreenshot; while (true) // Handle timeout somewhere { var ajaxIsComplete = (bool)(driver as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0"); if (ajaxIsComplete) break; System.Threading.Thread.Sleep(100); } var dataLoad = driver.FindElement(By.CssSelector("[id='dataLoadInProgress']")); var i = 0; while (dataLoad.Displayed && dataLoad.Enabled && i < 10) { System.Threading.Thread.Sleep(1000); i++; } if (i > 10) { return 0; } Screenshot screenshot = screenshotDriver.GetScreenshot(); screenshot.SaveAsFile("0.__main_page.png", System.Drawing.Imaging.ImageFormat.Png); var maintab = driver.FindElement(By.CssSelector("[id='mainTabs']")); var elements = maintab.FindElements(By.XPath("//a[@vf-page]")); var pageCounter = 1; foreach (var element in elements.ToList()) { bool visible = element.Displayed && element.Enabled; if (visible) { element.Click(); element.SendKeys(OpenQA.Selenium.Keys.Escape); System.Threading.Thread.Sleep(1000); screenshot = screenshotDriver.GetScreenshot(); screenshot.SaveAsFile(pageCounter.ToString() + element.GetAttribute("vf-page").Replace("/", "_") + "_page.png", System.Drawing.Imaging.ImageFormat.Png); pageCounter++; } } foreach (var trafficSeesionItem in trafficSeesionItems.ToList()) { // HINT: this will log all HTTP traffic no matter which application generates. System.Diagnostics.Trace.WriteLine(String.Format("{0} {1}", trafficSeesionItem.responseCode, trafficSeesionItem.fullUrl)); } driver.Quit(); Fiddler.FiddlerApplication.oProxy.Detach(); return 0; } int ret = Xunit.ConsoleClient.Program.Main(new string[] { Assembly.GetAssembly(typeof(Test)).CodeBase.Substring("file:///".Length), //"/noshadow", }); Console.In.ReadLine(); return ret; }
public void CheckParkCostandTimeCase2() { IWebDriver Driver = new ChromeDriver(@"C:\Users\Rebecca\Documents\Visual Studio 2015\Chrome Driver"); Driver.Navigate().GoToUrl("http://adam.goucher.ca/parkcalc/index.php"); Thread.Sleep(2000); //Get current window handle so we can switch when clicking the calendar icon String OriginalHandle = Driver.CurrentWindowHandle; // Select Long Term Surface Parking from Lot drop down menu SelectElement Lot = new SelectElement(Driver.FindElement(By.Id("Lot"))); Lot.SelectByValue("LTS"); //Click calendar icon to enter entry date Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/font/a/img")).Click(); Thread.Sleep(2000); //Switch Driver to new calendar frame for entry date string EntryDateHandle = string.Empty; ReadOnlyCollection<string> EntryWindowHandles = Driver.WindowHandles; foreach (string Handle in EntryWindowHandles) { if (Handle != OriginalHandle) { EntryDateHandle = Handle; break; } } Driver.SwitchTo().Window(EntryDateHandle); //Click the year descend button twice to get the year to be 2014 for entry date, click 1 for 01/01/2014 Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[2]/a[1]")).Click(); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[2]/a[1]")).Click(); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[4]/font/a")).Click(); //Switch back to old frame to click calendar icon for exit date Driver.SwitchTo().Window(OriginalHandle); //Click calendar icon to enter exit date Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[3]/td[2]/font/a/img")).Click(); Thread.Sleep(2000); string ExitDateHandle = string.Empty; ReadOnlyCollection<string> ExitWindowHandles = Driver.WindowHandles; foreach (string Handle in ExitWindowHandles) { if (Handle != OriginalHandle) { ExitDateHandle = Handle; break; } } Driver.SwitchTo().Window(ExitDateHandle); //Click the year descend button twice to get the year to be 2014 for exit date, click on the 1st to get 02/01/2014 for exit date Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[2]/a[1]")).Click(); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[2]/a[1]")).Click(); SelectElement ExitMonth = new SelectElement(Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[1]/td/table/tbody/tr/td[1]/select"))); ExitMonth.SelectByText("February"); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[7]/font/a")).Click(); //Switch back to original frame in order to click the calculate button Driver.SwitchTo().Window(OriginalHandle); //Click calculate button Driver.FindElement(By.XPath("/html/body/form/input[2]")).Click(); Thread.Sleep(2000); //Check cost is equal to $ 270.00 try { Assert.AreEqual("$ 270.00", Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[2]/span[1]/font/b")).Text); } catch (Exception ex) { Driver.Quit(); Assert.Fail(); } //Check duration of stay is (0 Days, 1 Hours, 0 Minutes) try { Assert.AreEqual("(31 Days, 0 Hours, 0 Minutes)", Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[2]/span[2]/font/b")).Text.Trim()); } catch (Exception ex) { Driver.Quit(); Assert.Fail(); } // Quit Chrome Driver.Quit(); }
public void CheckParkCostandTimeCase7() { IWebDriver Driver = new ChromeDriver(@"C:\Users\Rebecca\Documents\Visual Studio 2015\Chrome Driver"); Driver.Navigate().GoToUrl("http://adam.goucher.ca/parkcalc/index.php"); Thread.Sleep(2000); String OriginalHandle = Driver.CurrentWindowHandle; // Select Long Term Surface Parking from Lot drop down menu SelectElement Lot = new SelectElement(Driver.FindElement(By.Id("Lot"))); Lot.SelectByValue("LTS"); // Enter 4:00 PM in Entry Time, select PM in radio button Driver.FindElement(By.Id("EntryTime")).Clear(); Driver.FindElement(By.Id("EntryTime")).SendKeys("4:00"); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/font/input[3]")).Click(); //Click calendar icon to enter entry date Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/font/a/img")).Click(); Thread.Sleep(2000); //Switch Driver to new calendar frame for entry date 01/02/2016 string EntryDateHandle = string.Empty; ReadOnlyCollection<string> EntryWindowHandles = Driver.WindowHandles; foreach (string Handle in EntryWindowHandles) { if (Handle != OriginalHandle) { EntryDateHandle = Handle; break; } } Driver.SwitchTo().Window(EntryDateHandle); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[7]/font/a")).Click(); Driver.SwitchTo().Window(OriginalHandle); //Check date is formatted correctly from calendar try { String DateValue = Driver.FindElement(By.Id("EntryDate")).GetAttribute("value"); Assert.AreEqual("1/2/2016", DateValue); } catch (Exception ex) { Driver.Quit(); Assert.Fail(); } // Enter 3:00 AM in Exit Time Driver.FindElement(By.Id("ExitTime")).Clear(); Driver.FindElement(By.Id("ExitTime")).SendKeys("3:00"); //Enter date as 01/07/2016 In Exit Date Driver.FindElement(By.Id("ExitDate")).Clear(); Driver.FindElement(By.Id("ExitDate")).SendKeys("01/07/2016"); //Click calculate button, Check cost is equal to $ 50.00, Check duration of stay is (4 Days, 11 Hours, 0 Minutes) Driver.FindElement(By.XPath("/html/body/form/input[2]")).Click(); Thread.Sleep(2000); try { Assert.AreEqual("$ 50.00", Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[2]/span[1]/font/b")).Text); } catch (Exception ex) { Driver.Quit(); Assert.Fail(); } try { Assert.AreEqual("(4 Days, 11 Hours, 0 Minutes)", Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[4]/td[2]/span[2]/font/b")).Text.Trim()); } catch (Exception ex) { Driver.Quit(); Assert.Fail(); } // Quit Chrome Driver.Quit(); }
private void submit_registration_dialog_as_facebook_user(ChromeDriver browser) { var windowContext = new WhichWindowContext(browser); click_registration_button(browser); browser.SwitchTo().Window(windowContext.GetNewWindowName()); browser.FindElement(BySizzle.CssSelector("input[value=Continue]")).Click(); browser.SwitchTo().Window(windowContext.GetOriginalWindowName()); }
private void go_to_registration_form(ChromeDriver browser, IISExpressDriver site) { browser.Navigate().GoToUrl(site.UrlFor("/Account/Register")); var iframe = browser.WaitForElementEx( BySizzle.CssSelector("iframe[src^=\"https://www.facebook.com/plugins/registration.php\"]"), Constants.MSLongWait); browser.SwitchTo().Frame(iframe); }
public static void İnstagramKayit() { var options = new OpenQA.Selenium.Chrome.ChromeOptions(); var proxy = new Proxy(); proxy.HttpProxy = "111.90.179.74:8080"; options.Proxy = proxy; options.BinaryLocation = @"C:\Program Files\Google\Chrome\Application\chrome.exe"; using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(options)) { #region Tempmail driver.Navigate().GoToUrl("https://tr.emailfake.com/"); var tempmail = ""; try { tempmail = driver.FindElement(By.Id("userName")).GetAttribute("value") + "@" + driver.FindElement(By.Id("domainName2")).GetAttribute("value"); } catch (Exception ex) { Console.WriteLine(ex.Message); } #endregion #region instagramkayıt ((IJavaScriptExecutor)driver).ExecuteScript("window.open();"); driver.SwitchTo().Window(driver.WindowHandles.Last()); driver.Navigate().GoToUrl("https://www.instagram.com/accounts/emailsignup/"); Thread.Sleep(2000); IWebElement email = driver.FindElement(By.Name("emailOrPhone")); IWebElement fullname = driver.FindElement(By.Name("fullName")); IWebElement username = driver.FindElement(By.Name("username")); IWebElement password = driver.FindElement(By.Name("password")); IWebElement Kayıtbutton = driver.FindElement(By.XPath("//button[. = 'Kaydol']")); User user = new User(); user.adsoyad = "sohistory14"; user.eposta = tempmail; user.kullaniciadi = "sohistory14"; user.sifre = "historyso2q"; email.SendKeys(user.eposta); fullname.SendKeys(user.adsoyad); username.SendKeys(user.kullaniciadi); password.SendKeys(user.sifre); Kayıtbutton.Click(); Thread.Sleep(5000); SelectElement oSelect = new SelectElement(driver.FindElement(By.XPath("//*[@title='Ay:']"))); oSelect.SelectByText("Mayıs"); SelectElement oSelect2 = new SelectElement(driver.FindElement(By.XPath("//*[@title='Gün:']"))); oSelect2.SelectByText("1"); SelectElement oSelect3 = new SelectElement(driver.FindElement(By.XPath("//*[@title='Yıl:']"))); oSelect3.SelectByText("1998"); IWebElement ileributton = driver.FindElement(By.XPath("//button[. = 'İleri']")); ileributton.Click(); IWebElement body2 = driver.FindElement(By.TagName("body")); body2.SendKeys(Keys.Alt + Keys.Tab); driver.SwitchTo().Window(driver.WindowHandles.First()); #endregion var codelink = ""; var sayaç = 0; while (true) { try { if (!string.IsNullOrEmpty(codelink)) { Thread.Sleep(2500); driver.SwitchTo().Window(driver.WindowHandles.Last()); IWebElement kodutekrargonder = driver.FindElement(By.XPath("//button[. = 'Kodu Tekrar Gönder.']")); kodutekrargonder.Click(); Thread.Sleep(2500); driver.SwitchTo().Window(driver.WindowHandles.First()); sayaç = 0; } codelink = driver.FindElement(By.CssSelector("#email_content > table > tbody > tr:nth-child(4) > td > table > tbody > tr > td > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2)")).GetAttribute("innerHTML"); break; } catch (Exception ex) { Console.WriteLine(ex.Message); } } driver.SwitchTo().Window(driver.WindowHandles.Last()); try { IWebElement emailconfirmationcode = driver.FindElement(By.Name("email_confirmation_code")); emailconfirmationcode.SendKeys(codelink); IWebElement Kayıtbuttonİleri = driver.FindElement(By.XPath("//button[. = 'İleri']")); Kayıtbuttonİleri.Click(); } catch (Exception ex) { Console.WriteLine(ex.Message); } Thread.Sleep(20000); Console.ReadKey(); } }
public void CreateRental(string file, string name) { var optionOne = new ChromeOptions(); optionOne.AddArgument("test-type"); IWebDriver driver = new ChromeDriver(optionOne); driver.Navigate().GoToUrl("https://dev-productadmin.vacationroost.com/"); // Dev //driver.Navigate().GoToUrl("https://productadmin.vacationroost.com"); var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(250)); //if (driver.FindElement(By.XPath("//*[@id='ctl00_body_ProductsTaskSelection_LodgingTasksGroup']/legend")).Displayed) //{ // Thread.Sleep(500); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(145)); IWebElement editSupplier = wait.Until(x => x.FindElement(By.XPath("//a[contains(.,'Edit a Lodging Supplier')]"))); editSupplier.Click(); //} string fileName = file; string suppName = name; IWebElement supplierName = wait.Until(x => x.FindElement(By.Id("ctl00_body_EntitySelection1_SupplierNameField"))); supplierName.SendKeys(name); IWebElement supplierSearchButton = wait.Until(x => x.FindElement(By.Id("ctl00_body_EntitySelection1_EntitySelectionSearchButton"))); supplierSearchButton.Click(); IWebElement selectLinkForSupplier = wait.Until(x => x.FindElement(By.Id("ctl00_body_EntitySelection1_SupplierLodgingRepeater_ctl00_EditALodgingSupplierSelectionLineItem_SelectButton"))); selectLinkForSupplier.Click(); IWebElement createStandAloneRentalUnit = wait.Until(x => x.FindElement(By.Id("ctl00_body_DashboardControl1_TaskSelection_ctl01_RentalUnitTaskGroup_RentalUnitTasksControl_CreateRentalUnitSubTaskGroup_CreateARentalUnitTaskLink"))); createStandAloneRentalUnit.Click(); var rentalUnitInfos = new List<RentalUnitInformation>(); var finalUrl = ""; var finalComplex = ""; if (File.Exists(fileName)) { var xlApp = new Excel.Application(); var xlWorkBook = xlApp.Workbooks.Open(file, false); var xlWorksheet = (Excel.Worksheet) xlWorkBook.Worksheets.Item[1]; Excel.Range credentials = xlWorksheet.UsedRange; int rowCount = credentials.Rows.Count; try { for (int i = 1; i < rowCount; i++) { string building = null; string rooms = null; string numberBath = null; string numberGuess = null; var complex = Convert.ToString(credentials.Cells[i + 1, 1].Value2); var description = credentials.Cells[i + 1, 2].Value2.ToString(); building = credentials.Cells[i + 1, 3].Value2.ToString(); rooms = credentials.Cells[i + 1, 4].Value2.ToString(); var uNumber = credentials.Cells[i + 1, 5].Value2.ToString(); var uDescription = credentials.Cells[i + 1, 6].Value2.ToString(); numberBath = credentials.Cells[i + 1, 7].Value2.ToString(); numberGuess = credentials.Cells[i + 1, 8].Value2.ToString(); // Unit Name var waiting = new WebDriverWait(driver, TimeSpan.FromSeconds(260)); IWebElement complexName = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_ComplexNameTextbox"))); complexName.SendKeys(complex); // Complex Description IWebElement iframe = driver.FindElement( By.XPath( "//*[@id='ctl00_body_InputForm_ComplexDescriptionLabel']/span[1]/div/div[2]/iframe")); driver.SwitchTo().Frame(iframe); IWebElement complexDescription = waiting.Until(x => x.FindElement(By.TagName("body"))); complexDescription.SendKeys(description); driver.SwitchTo().DefaultContent(); // Building Type switch (building) { case "Apartment": IWebElement apartmentbuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedApartment = new SelectElement(apartmentbuilding); selectedApartment.SelectByText("Apartment"); break; case "Bed and Breakfast": IWebElement bedAndBreakfastBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedBedAnBreakfast = new SelectElement(bedAndBreakfastBuilding); selectedBedAnBreakfast.SelectByText("Bed & Breakfast"); break; case "Boutique Hotel": IWebElement boutiqueBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedboutique = new SelectElement(boutiqueBuilding); selectedboutique.SelectByText("Hotel Inn"); break; case "Bungalow": IWebElement bungalow = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedBungalow = new SelectElement(bungalow); selectedBungalow.SelectByText("Bungalow"); break; case "Camping Ground": IWebElement campingGround = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedCampingGround = new SelectElement(campingGround); selectedCampingGround.SelectByText("Camping Ground"); break; case "Chalet": IWebElement chaletBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedchalet = new SelectElement(chaletBuilding); selectedchalet.SelectByText("Chalet"); break; case "Cottage": IWebElement cottageBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedCottage = new SelectElement(cottageBuilding); selectedCottage.SelectByText("Cabin / Lodge / Cottage"); break; case "Farm": IWebElement farm = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedFarm = new SelectElement(farm); selectedFarm.SelectByText("Farm"); break; case "Guesthouse": IWebElement guestHouse = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedGuestHouse = new SelectElement(guestHouse); selectedGuestHouse.SelectByText("Guest House"); break; case "Home": IWebElement homeBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedHome = new SelectElement(homeBuilding); selectedHome.SelectByText("Vacation Home"); break; case "Homestay": IWebElement homestayBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedHomestay = new SelectElement(homestayBuilding); selectedHomestay.SelectByText("Vacation Home"); break; case "Luxury Yacht": IWebElement luxuryYacht = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedLuxuryYacht = new SelectElement(luxuryYacht); selectedLuxuryYacht.SelectByText("Yacht"); break; case "Resort": IWebElement resortBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedResort = new SelectElement(resortBuilding); selectedResort.SelectByText("All Inclusive Hotel"); break; case "Serviced Apartment": IWebElement serviceBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedServiceAppt = new SelectElement(serviceBuilding); selectedServiceAppt.SelectByText("Apartment"); break; case "Villa": IWebElement villaBuilding = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_BuildingTypeList"))); var selectedVilla = new SelectElement(villaBuilding); selectedVilla.SelectByText("Villa"); break; } // End Building Type Thread.Sleep(500); // Floor Plan Type switch (building) { case "Apartment": IWebElement apartmentType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act1 = new Actions(driver); act1.MoveToElement(apartmentType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeAppartment = new SelectElement(apartmentType); selectedFloorTypeAppartment.SelectByText("Apartment"); break; case "Bed and Breakfast": IWebElement bedAndBreakfastType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act2 = new Actions(driver); act2.MoveToElement(bedAndBreakfastType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeBedAndBreakfast = new SelectElement(bedAndBreakfastType); selectedFloorTypeBedAndBreakfast.SelectByText("Home"); break; case "Boutique Hotel": IWebElement boutiqueType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act3 = new Actions(driver); act3.MoveToElement(boutiqueType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeBoutique = new SelectElement(boutiqueType); selectedFloorTypeBoutique.SelectByText("Condo"); break; case "Bungalow": IWebElement bungalow = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act4 = new Actions(driver); act4.MoveToElement(bungalow) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedBungalow = new SelectElement(bungalow); selectedBungalow.SelectByText("Home"); break; case "Camping Ground": IWebElement campingGroundType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act5 = new Actions(driver); act5.MoveToElement(campingGroundType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorCampingGround = new SelectElement(campingGroundType); selectedFloorCampingGround.SelectByText("Camping Ground"); break; case "Chalet": IWebElement chaletType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act6 = new Actions(driver); act6.MoveToElement(chaletType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeChalet = new SelectElement(chaletType); selectedFloorTypeChalet.SelectByText("Condo"); break; case "Cottage": IWebElement cottageType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act7 = new Actions(driver); act7.MoveToElement(cottageType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeCottage = new SelectElement(cottageType); selectedFloorTypeCottage.SelectByText("Home"); break; case "Farm": IWebElement farmType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act8 = new Actions(driver); act8.MoveToElement(farmType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorFarm = new SelectElement(farmType); selectedFloorFarm.SelectByText("Home"); break; case "Guesthouse": IWebElement guestHouseType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act9 = new Actions(driver); act9.MoveToElement(guestHouseType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorGuestHouse = new SelectElement(guestHouseType); selectedFloorGuestHouse.SelectByText("Home"); break; case "Home": IWebElement homeType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act10 = new Actions(driver); act10.MoveToElement(homeType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeHome = new SelectElement(homeType); selectedFloorTypeHome.SelectByText("Home"); break; case "Homestay": IWebElement homestayType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act11 = new Actions(driver); act11.MoveToElement(homestayType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeHomestay = new SelectElement(homestayType); selectedFloorTypeHomestay.SelectByText("Home"); break; case "Luxury Yacht": IWebElement luxuryYachtType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act12 = new Actions(driver); act12.MoveToElement(luxuryYachtType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeLuxuryYacht = new SelectElement(luxuryYachtType); selectedFloorTypeLuxuryYacht.SelectByText("Yacht"); break; case "Resort": IWebElement resortType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act13 = new Actions(driver); act13.MoveToElement(resortType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeResort = new SelectElement(resortType); selectedFloorTypeResort.SelectByText("Condo"); break; case "Serviced Apartment": IWebElement serviceApptType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act14 = new Actions(driver); act14.MoveToElement(serviceApptType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeServiceAppt = new SelectElement(serviceApptType); selectedFloorTypeServiceAppt.SelectByText("Apartment"); break; case "Villa": IWebElement villaType = waiting.Until(x => x.FindElement(By.Id("FloorPlanTypeList"))); var act15 = new Actions(driver); act15.MoveToElement(villaType) .Click(driver.FindElement(By.XPath("//*[@id='FloorPlanTypeList']"))) .Build() .Perform(); Thread.Sleep(800); var selectedFloorTypeVilla = new SelectElement(villaType); selectedFloorTypeVilla.SelectByText("Condo"); break; } // End Floor Plan Type Thread.Sleep(500); // Bedrooms switch (rooms) { case "1": IWebElement oneBedroom = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act = new Actions(driver); act.MoveToElement(oneBedroom) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomOne = new SelectElement(oneBedroom); selectedBedroomOne.SelectByValue("1BR"); break; case "2": IWebElement twoBedroom = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act2 = new Actions(driver); act2.MoveToElement(twoBedroom) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwo = new SelectElement(twoBedroom); selectedBedroomTwo.SelectByValue("2BR"); break; case "3": IWebElement threeBedroom = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act3 = new Actions(driver); act3.MoveToElement(threeBedroom) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomThree = new SelectElement(threeBedroom); selectedBedroomThree.SelectByValue("3BR"); break; case "4": IWebElement fourBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act4 = new Actions(driver); act4.MoveToElement(fourBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomFour = new SelectElement(fourBedrooms); selectedBedroomFour.SelectByValue("4BR"); break; case "5": IWebElement fiveBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act5 = new Actions(driver); act5.MoveToElement(fiveBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomFive = new SelectElement(fiveBedrooms); selectedBedroomFive.SelectByValue("5BR"); break; case "6": IWebElement sixBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act6 = new Actions(driver); act6.MoveToElement(sixBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomSix = new SelectElement(sixBedrooms); selectedBedroomSix.SelectByValue("6BR"); break; case "7": IWebElement sevenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act7 = new Actions(driver); act7.MoveToElement(sevenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomSeven = new SelectElement(sevenBedrooms); selectedBedroomSeven.SelectByValue("7BR"); break; case "8": IWebElement eigthBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act8 = new Actions(driver); act8.MoveToElement(eigthBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomEight = new SelectElement(eigthBedrooms); selectedBedroomEight.SelectByValue("8BR"); break; case "9": IWebElement nineBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act9 = new Actions(driver); act9.MoveToElement(nineBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomNine = new SelectElement(nineBedrooms); selectedBedroomNine.SelectByText("9BR"); break; case "10": IWebElement tenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act10 = new Actions(driver); act10.MoveToElement(tenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTen = new SelectElement(tenBedrooms); selectedBedroomTen.SelectByText("10BR"); break; case "11": IWebElement elevenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act11 = new Actions(driver); act11.MoveToElement(elevenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomEleven = new SelectElement(elevenBedrooms); selectedBedroomEleven.SelectByText("11BR"); break; case "12": IWebElement twelveBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act12 = new Actions(driver); act12.MoveToElement(twelveBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwelve = new SelectElement(twelveBedrooms); selectedBedroomTwelve.SelectByText("12BR"); break; case "13": IWebElement thirteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act13 = new Actions(driver); act13.MoveToElement(thirteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomThirteen = new SelectElement(thirteenBedrooms); selectedBedroomThirteen.SelectByText("13BR"); break; case "14": IWebElement fourteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act14 = new Actions(driver); act14.MoveToElement(fourteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomFourteen = new SelectElement(fourteenBedrooms); selectedBedroomFourteen.SelectByText("14BR"); break; case "15": IWebElement fifteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act15 = new Actions(driver); act15.MoveToElement(fifteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomFifteen = new SelectElement(fifteenBedrooms); selectedBedroomFifteen.SelectByText("15BR"); break; case "16": IWebElement sixteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act16 = new Actions(driver); act16.MoveToElement(sixteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomSixteen = new SelectElement(sixteenBedrooms); selectedBedroomSixteen.SelectByText("16BR"); break; case "17": IWebElement seventeenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act17 = new Actions(driver); act17.MoveToElement(seventeenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomSeventeen = new SelectElement(seventeenBedrooms); selectedBedroomSeventeen.SelectByText("17BR"); break; case "18": IWebElement eighteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act18 = new Actions(driver); act18.MoveToElement(eighteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomEighteen = new SelectElement(eighteenBedrooms); selectedBedroomEighteen.SelectByText("18BR"); break; case "19": IWebElement nineteenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act19 = new Actions(driver); act19.MoveToElement(nineteenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomNineteen = new SelectElement(nineteenBedrooms); selectedBedroomNineteen.SelectByText("19BR"); break; case "20": IWebElement twentyBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act20 = new Actions(driver); act20.MoveToElement(twentyBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwenty = new SelectElement(twentyBedrooms); selectedBedroomTwenty.SelectByText("20BR"); break; case "21": IWebElement twentyOneBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act21 = new Actions(driver); act21.MoveToElement(twentyOneBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyOne = new SelectElement(twentyOneBedrooms); selectedBedroomTwentyOne.SelectByText("21BR"); break; case "22": IWebElement twentyTwoBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act22 = new Actions(driver); act22.MoveToElement(twentyTwoBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyTwo = new SelectElement(twentyTwoBedrooms); selectedBedroomTwentyTwo.SelectByText("22BR"); break; case "23": IWebElement twentyThreeBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act23 = new Actions(driver); act23.MoveToElement(twentyThreeBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyThree = new SelectElement(twentyThreeBedrooms); selectedBedroomTwentyThree.SelectByText("23BR"); break; case "24": IWebElement twentyFourBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act24 = new Actions(driver); act24.MoveToElement(twentyFourBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyFour = new SelectElement(twentyFourBedrooms); selectedBedroomTwentyFour.SelectByText("24BR"); break; case "25": IWebElement twentyFiveBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act25 = new Actions(driver); act25.MoveToElement(twentyFiveBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyFive = new SelectElement(twentyFiveBedrooms); selectedBedroomTwentyFive.SelectByText("25BR"); break; case "26": IWebElement twentySixBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act26 = new Actions(driver); act26.MoveToElement(twentySixBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentySix = new SelectElement(twentySixBedrooms); selectedBedroomTwentySix.SelectByText("26BR"); break; case "27": IWebElement twentySevenBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act27 = new Actions(driver); act27.MoveToElement(twentySevenBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentySeven = new SelectElement(twentySevenBedrooms); selectedBedroomTwentySeven.SelectByText("27BR"); break; case "28": IWebElement twentyEightBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act28 = new Actions(driver); act28.MoveToElement(twentyEightBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyEight = new SelectElement(twentyEightBedrooms); selectedBedroomTwentyEight.SelectByText("28BR"); break; case "29": IWebElement twentyNineBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act29 = new Actions(driver); act29.MoveToElement(twentyNineBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomTwentyNine = new SelectElement(twentyNineBedrooms); selectedBedroomTwentyNine.SelectByText("29BR"); break; case "30": IWebElement thirtyBedrooms = waiting.Until(x => x.FindElement(By.Id("BedroomsDropDown"))); var act30 = new Actions(driver); act30.MoveToElement(thirtyBedrooms) .Click(driver.FindElement(By.XPath("//*[@id='BedroomsDropDown']"))) .Build() .Perform(); Thread.Sleep(1000); var selectedBedroomThirty = new SelectElement(thirtyBedrooms); selectedBedroomThirty.SelectByText("30BR"); break; } // Unit Number IWebElement unitNumber = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_UnitNumberTextField"))); unitNumber.SendKeys(uNumber); // Unit Description IWebElement iframe2 = driver.FindElement( By.XPath( "//*[@id='ctl00_body_InputForm_DescriptionLabel']/span[1]/div/div[2]/iframe")); driver.SwitchTo().Frame(iframe2); IWebElement unitDescription = waiting.Until(x => x.FindElement(By.TagName("body"))); unitDescription.SendKeys(uDescription); driver.SwitchTo().DefaultContent(); // Bathrooms IWebElement numberBathrooms = waiting.Until( x => x.FindElement( By.Id("ctl00_body_InputForm_BathroomsControl_FullBathroomsDropDown"))); var selectedNumberBathrooms = new SelectElement(numberBathrooms); selectedNumberBathrooms.SelectByText(numberBath); // Sleeps IWebElement sleeps = waiting.Until(x => x.FindElement(By.Id("ctl00_body_InputForm_SleepsDropDown"))); var numberSleepSelected = new SelectElement(sleeps); numberSleepSelected.SelectByText(numberGuess); // Availability Settings IWebElement inventoryMode = waiting.Until( x => x.FindElement( By.Id("ctl00_body_InputForm_AvailabilitySettingsSection_InventoryModeField"))); var selectedInventoryMode = new SelectElement(inventoryMode); selectedInventoryMode.SelectByText("Unit Specific"); IWebElement defaultAvailability = waiting.Until( x => x.FindElement( By.Id( "ctl00_body_InputForm_AvailabilitySettingsSection_DefaultAvailabilityField"))); var selectedDefaultAvailability = new SelectElement(defaultAvailability); selectedDefaultAvailability.SelectByText("Available"); IWebElement activelyManaged = waiting.Until( x => x.FindElement( By.Id( "ctl00_body_InputForm_AvailabilitySettingsSection_IsActivelyManagedField"))); activelyManaged.Click(); // Saving Rental Unit IWebElement finishButtonCreateRentalUnit = driver.FindElement(By.Id("ctl00_body_InputForm_Finish")); finishButtonCreateRentalUnit.Click(); // Begin Next Rental Unit Thread.Sleep(1000); if (driver.FindElement(By.Id("ctl00_PageTitleLabel")).Displayed) { IWebElement supplierLink = waiting.Until( x => x.FindElement( By.XPath("//*[@id='ctl00_PageContextText_ContextControl']/a[1]"))); Thread.Sleep(300); var url = waiting.Until( x => x.FindElement( By.XPath( "//*[@id='ctl00_body_DashboardControl1_TaskSelection_ctl01_TaskGroup1_EditRentalUnitInfo']/a")) .GetAttribute("href")); finalUrl = url.Substring((Math.Max(0, url.Length - 6))); finalComplex = complex.Replace(",", " "); Console.WriteLine(finalComplex + "," + building + "," + rooms + "," + uNumber + "," + uDescription + "," + numberBath + "," + numberGuess + "," + finalUrl); supplierLink.Click(); } Thread.Sleep(200); if ( driver.FindElement( By.XPath( "//*[@id='ctl00_body_DashboardControl1_TaskSelection_SupplierTasks1_TaskGroup1']/legend")) .Displayed) { Thread.Sleep(200); IWebElement createStandaloneRentalUnit2 = waiting.Until( x => x.FindElement( By.Id( "ctl00_body_DashboardControl1_TaskSelection_ctl01_RentalUnitTaskGroup_RentalUnitTasksControl_CreateRentalUnitSubTaskGroup_CreateARentalUnitTaskLink"))); createStandaloneRentalUnit2.Click(); } // Console Write (Final Complex) var rentalUnit = new RentalUnitInformation(finalComplex, building, rooms, uNumber, uDescription, numberBath, numberGuess, finalUrl); rentalUnitInfos.Add(rentalUnit); if (i == rowCount - 1) { xlWorkBook.Close(); xlApp.Quit(); Marshal.ReleaseComObject(xlWorksheet); Marshal.ReleaseComObject(xlWorkBook); Marshal.ReleaseComObject(xlApp); driver.Quit(); string csvPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); var newCsvFile = new FileStream(csvPath + suppName + ".txt", FileMode.Create, FileAccess.Write); var fileToWrite = new StreamWriter(newCsvFile); foreach (var eachrentalunit in rentalUnitInfos) { fileToWrite.WriteLine(eachrentalunit); } fileToWrite.Close(); Console.WriteLine("Finished creating the document for " + suppName + " Total Units " + (rowCount - 1)); Console.ReadLine(); } } // end for } // end try catch (Exception exHandle) { Console.Write("Exception " + exHandle.Message); Console.ReadLine(); } finally { GC.Collect(); } } // end if else { Console.WriteLine("Unable to find File"); Console.ReadLine(); } }
private void startWallBoard(object sender, RoutedEventArgs e) { // Configure the WebDriver path, and set to invisble (avoids annoying cmd prompt pop-up DriverService driverService = ChromeDriverService.CreateDefaultService(@".\WebDrivers\"); driverService.HideCommandPromptWindow = true; // Use default chrome options for kiosk mode ChromeOptions cOptions = new ChromeOptions(); //cOptions.AddArgument("--start-maximized --kiosk"); //cOptions.BinaryLocation = "CHROME DIRECTORY"; //IWebDriver driver = new ChromeDriver(@".\WebDrivers\"); IWebDriver driver = new ChromeDriver(service: (ChromeDriverService)driverService, options: cOptions); //Create the actions builder Actions builder = new Actions(driver); //Default Site Thread.Sleep(100); Debug.Print(driver.CurrentWindowHandle); driver.SwitchTo().Window(driver.CurrentWindowHandle); Thread.Sleep(100); driver.Navigate().GoToUrl("http://www.reddit.com"); Thread.Sleep(100); //Create some tabs driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t"); Thread.Sleep(200); driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t"); Thread.Sleep(200); driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t"); Thread.Sleep(200); //List the open tabs List<String> openTabs = openTabs = driver.WindowHandles.ToList<string>(); //driver.WindowHandles is a bloody read only collection foreach (var item in openTabs) { Debug.Print(item); } Debug.Print("TAB list size is {0} ", openTabs.Count); Thread.Sleep(200); driver.SwitchTo().Window(openTabs[1]); Debug.Print("Switching to {0}", driver.Title); driver.Navigate().GoToUrl("http://www.facebook.com"); Debug.Print("I am now to {0}", driver.Title); Thread.Sleep(200); driver.SwitchTo().Window(openTabs[2]); Debug.Print("Switching to {0}", driver.Title); driver.Navigate().GoToUrl("http://www.test.com"); Debug.Print("I am now to {0}", driver.Title); Thread.Sleep(200); driver.SwitchTo().Window(openTabs[3]); Debug.Print("Switching to {0}", driver.Title); driver.Navigate().GoToUrl("http://www.baesystems.com"); Debug.Print("I am now to {0}", driver.Title); Thread.Sleep(200); //Go to next tab (loop to first) Thread.Sleep(100); builder.SendKeys(Keys.Control + Keys.PageDown).Perform(); driver.SwitchTo().Window(openTabs[0]); Thread.Sleep(100); driver.SwitchTo().ActiveElement(); Debug.Print("BOLLOXX {0}", driver.Title); Thread.Sleep(100); //Hide the main app window this.frmMain.WindowState = System.Windows.WindowState.Minimized; }
public NaverCrawler() { string id = ConfigurationManager.AppSettings["id"]; string password = ConfigurationManager.AppSettings["password"]; var processList = Process.GetProcessesByName("chromedriver"); foreach( var process in processList ) { process.Kill(); } var chromeDriverService = ChromeDriverService.CreateDefaultService(); chromeDriverService.HideCommandPromptWindow = true; var option = new ChromeOptions(); option.AddExtension("3.7_0.crx"); driver = new ChromeDriver(chromeDriverService, option ); while (driver.WindowHandles.Count < 2) { Thread.Sleep(100); } driver.SwitchTo().Window(driver.WindowHandles[1]); WebDriverWait _wait = new WebDriverWait(driver, new TimeSpan(0, 1, 0)); driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 10)); _wait.Until(d => d.FindElement(By.Id("user_email"))); driver.FindElementById("user_email").SendKeys(String.Format("{0}@naver.com\n", id)); _wait.Until(d => d.FindElement(By.Id("user_password"))); driver.FindElementById("user_password").SendKeys(password); driver.FindElementById("loginbtn").Click(); driver.SwitchTo().Window(driver.WindowHandles[0]); driver.Url = loginFormUrl; driver.FindElementByCssSelector("#id").SendKeys(id); driver.FindElementByCssSelector("#pw").SendKeys(password); driver.FindElementByCssSelector("input.int_jogin").Click(); cookieContainer = new CookieContainer(); ReadOnlyCollection<OpenQA.Selenium.Cookie> cookieCollections = null; bool sessionFound = false; while (!sessionFound) { cookieCollections = driver.Manage().Cookies.AllCookies; foreach( var cookie in cookieCollections ) { if ( cookie.Name == "JSESSIONID" ) { sessionFound = true; break; } } } foreach( var cookie in cookieCollections ) { cookieContainer.Add(new System.Net.Cookie(cookie.Name, cookie.Value, cookie.Path, cookie.Domain)); } driver.Quit(); }
public GiftHulkModel(string username, string password, BackgroundWorker bw, bool openHulk, int cards) { int chips = 0; ChromeDriverService service = ChromeDriverService.CreateDefaultService(App.Folder); service.HideCommandPromptWindow = true; ChromeOptions options = new ChromeOptions(); options.AddArgument("start-maximized"); options.AddArgument("user-data-dir=" + App.Folder + "profileGH"); IWebDriver driver = new ChromeDriver(service, options); driver.Navigate().GoToUrl("http://www.gifthulk.com/"); try { driver.FindElement(By.ClassName("signup-link")).Click(); driver.FindElement(By.Name("log")).SendKeys(username); driver.FindElement(By.Name("pwd")).SendKeys(password); /* IList<IWebElement> iframes = driver.FindElements(By.TagName("iframe")); MessageBox.Show(iframes.Count.ToString()); foreach(IWebElement iframe in iframes) { MessageBox.Show(iframe.GetAttribute("title")); } */ Helpers.switchFrameByNumber(driver, 3); //driver.FindElement(By.ClassName("recaptcha-checkbox")).Click(); /* if (driver.FindElement(By.Id("recaptcha-anchor")).Displayed) { MessageBox.Show("Hey"); } */ int classCount = 0; IList<IWebElement> ClassNames = driver.FindElements(By.TagName("div")); foreach(IWebElement ClassName in ClassNames) { if (classCount == 4) { try { ClassName.Click(); } catch { } } classCount++; } driver.SwitchTo().DefaultContent(); while (driver.FindElement(By.Name("pwd")).Displayed) { } driver.FindElement(By.Name("pwd")).SendKeys(Keys.Enter); } catch { } finally { } Helpers.wait(5000); Helpers.ByClass(driver, "close-popup"); if (!openHulk) { while (!bw.CancellationPending) { int.TryParse(driver.FindElement(By.Id("daily_chips")).Text, out chips); if (chips > 0) { driver.Navigate().GoToUrl("http://www.gifthulk.com/guess-the-card/"); GuessCard(driver, cards); } try { driver.FindElement(By.Id("watch-video")).Click(); sideVideos(driver); } catch { } Helpers.wait(5000); videosWatch(driver); } } }