/// <summary> /// Launches the Selenium WebDriver driven browser specified in the Environments.cs file /// </summary> public IWebDriver LaunchBrowser(IWebDriver driver) { switch(this.environment.browser) { case "*firefox": _ffp = new FirefoxProfile(); _ffp.AcceptUntrustedCertificates = true; driver = new FirefoxDriver(_ffp); break; case "*iexplore": driver = new InternetExplorerDriver(); break; case "*googlechrome": driver = new ChromeDriver(); break; case "Android": capabilities = new DesiredCapabilities("android", "", null); capabilities.IsJavaScriptEnabled = true; driver = new RemoteWebDriver(new Uri(string.Format("http://{0}:{1}/hub", environment.host, environment.port)), capabilities); break; case "RemoteWebDriver": capabilities = DesiredCapabilities.Firefox(); var remoteAddress = new Uri(string.Format("http://{0}:{1}/wd/hub", environment.host, environment.port)); driver = new RemoteWebDriver(remoteAddress, capabilities); break; } return driver; }
public static IWebDriver DMLogin(string Url, string UserName, string Password) { //var driver = new InternetExplorerDriver(@"C:\Users\liu\Documents\visual studio 2012\Projects\TestProject\TestProject\"); //var driver=new FirefoxDriver(); var driver = new ChromeDriver(@"C:\Users\liu\Documents\visual studio 2012\Projects\TestProject\TestProject\"); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl(Url); driver.FindElement(By.Id("UserName")).SendKeys(UserName); driver.FindElement(By.Id("Password")).SendKeys(Password); driver.FindElement(By.Id("login_button_credentials")).Submit(); Thread.Sleep(2000); return driver; }
public void Manipulate() { ChromeDriver driver = new ChromeDriver(); HelpFunctions H = new HelpFunctions(); H.Navigate("http://us14.chatzy.com/37785015405504", driver); H.Navigate("http://us14.chatzy.com", driver); driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 100)); WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); IWebElement element = null; //= wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("X967"))); H.Button("//*[@id='X313']", driver);//Login/SignUp driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@id='X603']"))); H.InputInfo("//*[@id='X603']", "*****@*****.**", driver);//add email driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); H.Button("//*[@id='X6001']", driver); // choose the "I am regitered user" driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); H.InputInfo("//*[@id='X604']", "Amber001", driver); //Enter in the password driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); H.Button("//*[@id='X593']", driver); //click the ok button element = wait.Until(ExpectedConditions.ElementIsVisible(By.ClassName("X967"))); H.Navigate("http://us14.chatzy.com/37785015405504", driver); H.Button("//*[@id='X593']", driver); //click the enter room button H.Button("//*[@id='X1049']", driver); var chat = driver.FindElementById("X184"); // System.Collections.ObjectModel.ReadOnlyCollection<IWebElement> chat = driver.FindElementsByClassName("a"); // chat.ToString(); List<string> Temp = new List<string>(); Temp.Add(chat.Text); System.IO.File.AppendAllLines(@"OUTPUT3.txt", Temp); string[] t = System.IO.File.ReadAllLines(@"OUTPUT3.txt"); t.ToList(); // string s = chat.Text; // string[] words = Regex.Split(s, "\r\n"); driver.Close(); }
/// <summary> /// BROWSER_TYPEの値によって起動するブラウザを変える /// (firefox以外は不安定) /// </summary> /// <param name="webDriver"></param> public static void SelectBrowser(ref IWebDriver webDriver) { switch (AppConfig.GetString(Config.BROWSER_TYPE)) { case "1": // FireFox FirefoxBinary firefoxBinary = new FirefoxBinary(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"); FirefoxProfile firefoxProfile = new FirefoxProfile(); webDriver = new FirefoxDriver(firefoxBinary, firefoxProfile); break; case "2": // Chrome webDriver = new ChromeDriver(); break; case "3": // IE // ブラウザのズームレベルを100%にしないと落ちる webDriver = new InternetExplorerDriver(); break; default: throw new OriginalException("BROWSER_TYPEが不正です。1~3の間で設定してください。"); } webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); webDriver.Url = AppConfig.GetString(Config.TEST_URL); }
public void InputInfo(string path, string information, ChromeDriver driver) { driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); var Input = driver.FindElementByXPath(path); Input.SendKeys(information); }
static void Main(string[] args) { var driver = new ChromeDriver(); driver.Url = "https://www.bbc.co.uk"; }
public void SetFixture(ChromeFixture data) { driver = data.GetDriver(); }
protected void RunBeforeEachTest() { StartIIS(); ChromeDriver = new ChromeDriver(Path.Combine(Directory.GetCurrentDirectory(), "DiplomMSSQLApp.IntegrationTests")); }
private static void restartDriver(ref ChromeDriver driver) { //driver.Dispose(); driver.Quit(); driver = Utilities.WebDriverExtension.GetChromeDriver(hideBrowser: _WebDriverSetting.HideBrowser, hideCommand: _WebDriverSetting.HideCommand, isMaximized: true, wait: new TimeSpan(0, 0, 30)); }
public void Removing_The_Added_Event_Staging() { using (var driver = new ChromeDriver()) { // Maximize Browser Window driver.Manage().Window.Maximize(); // Navigate to url driver.Navigate().GoToUrl("https://us-stage.gmli2.bluewatertech.host"); // Find SignIn btn and Click driver.FindElementByXPath("//*[@id='NavigationMenu']/li").Click(); // Thread.Sleep() used to delay the driver to allow the web page to load. //Thread.Sleep(2000); driver.FindElementByName("Email").SendKeys("*****@*****.**"); driver.FindElementByName("Password").SendKeys("Droop420!"); //Thread.Sleep(2000); driver.FindElementByXPath("//*[@id='loginForm']/form/div[4]/div/input").Click(); //Thread.Sleep(2000); //This is for mouseover actions. Actions builder = new Actions(driver); //Mouse over the administration dropdown builder.MoveToElement(driver.FindElementByXPath("//*[@id='NavigationMenu']/li[1]")).Perform(); Thread.Sleep(4000); //Selects the System button in the mouseover drop down builder.MoveToElement(driver.FindElementByXPath("//*[@id='NavigationMenu']/li[1]/div/ul/li[5]/span")).Perform(); Thread.Sleep(2000); //Selects the Source Code button in the mouse hover dropdown driver.FindElementByCssSelector("#NavigationMenu > li.k-item.main-menu-item.k-state-default.k-first.k-state-border-down > div > ul > li.k-item.k-state-default.k-last.k-state-border-right > div > ul > li:nth-child(2)").Click(); Thread.Sleep(2000); //Change page layout to 500 source codes per page driver.FindElementByXPath("//*[@id='_gSourceCodes']/div[2]/span[1]/span/span").Click(); Thread.Sleep(1000); //Used to Select the 500 items per page in dropdown builder.MoveToElement(driver.FindElementByCssSelector("body > div.k-animation-container > div > div:nth-child(2) > ul > li:nth-child(4)")).Click().Perform(); Thread.Sleep(2000); builder.MoveToElement(driver.FindElementByXPath("//*[@id='form0']/div/div/div")).Perform(); Thread.Sleep(2000); //Delete the new source code that was added. builder.MoveToElement(driver.FindElementByXPath("//*[@id='_gSourceCodes']/table/tbody/tr[335]/td[18]/a")).Perform(); Thread.Sleep(3000); ////*[@id="_gSourceCodes"]/table/tbody/tr[335]/td[18]/a driver.FindElementByXPath("//*[@id='_gSourceCodes']/table/tbody/tr[335]/td[18]/a").Click(); Thread.Sleep(2000); builder.MoveToElement(driver.FindElementByCssSelector("#alertify-ok")).Perform(); Thread.Sleep(2000); // ok button CssSelector:"#alertify-ok" XPath:"//*[@id='alertify-ok']" driver.FindElementByCssSelector("#alertify-ok").Click(); Thread.Sleep(5000); //Need to put an if statement here to verify that the Element has been deleted. builder.MoveToElement(driver.FindElementByXPath("//*[@id='form0']/div/div/div")).Perform(); Thread.Sleep(10000); } }
public FavorilerimFacilities(ChromeDriver driver) { this.driver = driver; }
public void PrevisãoPagamento(ChromeDriver _chrome) { try { if (PaginaBase.ExpectedUrl(_chrome, "enter/options")) { _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(4)").Click(); } #region Pagamento Em Outra Data else { PaginaBase.Fail(); } _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(2)").Click(); PaginaBase.GaveGood(_chrome, pessoa, log); AjustClick.ClickById("send-another-date", _chrome); Thread.Sleep(2000); if (PaginaBase.ExpectedUrl(_chrome, "info/methods")) { } else { PaginaBase.Fail(); } Thread.Sleep(1000); for (int i = 0; i < 2; i++) { _chrome.Navigate().Back(); } #endregion #region Problemas Técnicos //Escolher Outro Seletor IList <IWebElement> Link = _chrome.FindElements(By.CssSelector("#fade-1 > div:nth-child(2) > div > a")); foreach (var i in Link) { if (i.Text.Equals("PROBLEMAS TÉCNICOS")) { i.Click(); break; } } #endregion #region Problemas Financeiros _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date"); _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(4)").Click(); #endregion #region Discorda dos Valores da Fatura _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date"); _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(5)").Click(); #endregion #region Assinatura Cancelada _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date"); _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(6)").Click(); #endregion #region Não Reconhce Assinatura _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date"); _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(7)").Click(); if (PaginaBase.ExpectedUrl(_chrome, "nao-reconhece-assinatura")) { } else { PaginaBase.Fail(); } #endregion #region Titular Falecido _chrome.Navigate().GoToUrl(new Constants().Sly_url + "pay-info/no-date"); PaginaBase.GaveGood(_chrome, pessoa, log); _chrome.FindElementByCssSelector("#fade-1 > div:nth-child(2) > div > a:nth-child(8)").Click(); if (PaginaBase.ExpectedUrl(_chrome, "titular-falecido")) { PaginaBase.GaveGood(_chrome, pessoa, log); } else { PaginaBase.Fail(); } #endregion _chrome.Navigate().GoToUrl(new Constants().Sly_url + "enter/options"); Thread.Sleep(2000); } catch (Exception e) { PaginaBase.Error(_chrome, pessoa, log); throw; } }
public AutomatedUITests() { WebDriver = new ChromeDriver(); personPage = new PersonPage(WebDriver); personPage.Navigate(); }
// Initialize the Chrome Driver public static List <StackOverflow> RunSearch(string jobName, string jobLocation) { // Check operating system string driverLocation = ""; string osName = System.Runtime.InteropServices.RuntimeInformation.OSDescription.ToLower(); Console.WriteLine(osName); if (osName.Contains("windows")) { driverLocation = "..\\JobSearch\\wwwroot\\drivers-win"; } else { driverLocation = "../JobSearch/wwwroot/drivers"; } // Initialize the Chrome Driver ChromeDriver driver = new ChromeDriver(driverLocation); // Go to the home page driver.Navigate().GoToUrl("https://stackoverflow.com/jobs"); // Get the page elements var searchForm = driver.FindElementById("q"); // Get the location var searchFormLocation = driver.FindElementById("l"); // Type user name and password searchForm.SendKeys(jobName); searchFormLocation.SendKeys(jobLocation); // and click the login button searchForm.Submit(); List <StackOverflow> stackOverflowJobs = new List <StackOverflow> { }; string tempTitle = ""; string tempLink = ""; string tempCompany = ""; string tempDate = ""; string tempLocation = ""; bool existsElement(int i) { try { driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a"); } catch { return(false); } return(true); } try { for (int i = 1; i < 20; i++) { if (existsElement(i)) { var tempListing = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a"); var tempList = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[1]"); tempTitle = tempListing.Text; tempLink = tempListing.GetAttribute("href"); tempCompany = tempList.Text; IWebElement location = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[2]")); tempLocation = location.Text; IWebElement date = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/span[2]")); tempDate = date.Text; StackOverflow tempJob = new StackOverflow(tempTitle, tempLink, tempCompany, tempLocation, tempDate); stackOverflowJobs.Add(tempJob); } } } catch { for (int i = 1; i < 20; i++) { if (existsElement(i)) { var tempListing = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/h2/a"); var tempList = driver.FindElementByXPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[1]"); tempTitle = tempListing.Text; tempLink = tempListing.GetAttribute("href"); tempCompany = tempList.Text; IWebElement location = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[2]/span[2]")); tempLocation = location.Text; IWebElement date = driver.FindElement(By.XPath("//*[@id='mainbar']/div[2]/div/div[" + i + "]/div[3]/div[1]/span[2]")); tempDate = date.Text; StackOverflow tempJob = new StackOverflow(tempTitle, tempLink, tempCompany, tempLocation, tempDate); stackOverflowJobs.Add(tempJob); } } } driver.Close(); return(stackOverflowJobs); }
private static async Task Run() { var browser = new ChromeDriver(); var waiter = new WebDriverWait(browser, TimeSpan.FromSeconds(10)); // access sign page var url = Configuration["SignUrl"]; if (!Uri.IsWellFormedUriString(url, UriKind.Absolute)) { InteractExit("无效配置:SignUrl 应该是一个绝对Uri"); } browser.Url = url; // wait redirection completed and page fully rendered var loginFrame = TryWait(waiter, driver => driver.FindElement(By.Id("loginFrame"))); // rqeuired sign in if (loginFrame != null) { browser.SwitchTo().Frame("loginFrame"); var userNameInput = browser.FindElementById("u"); var passwordInput = browser.FindElementById("p"); var loginButton = browser.FindElementById("go"); var username = Configuration["QQ"]; var password = Configuration["Password"]; if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { InteractExit("无效的QQ或密码"); } userNameInput.SendKeys(username); passwordInput.SendKeys(password); loginButton.Click(); // wait 2s for rendering verification code var verificationCode = TryWait(waiter, driver => driver.FindElement(By.Id("tcaptcha_iframe"))); if (verificationCode != null) { browser.SwitchTo().Frame("tcaptcha_iframe"); var pendingImg = waiter.Until(driver => driver.FindElement(By.Id("slideBg"))); var pendingImgSrc = pendingImg.GetAttribute("src"); var uriBuilder = new UriBuilder(pendingImgSrc); uriBuilder.Query = uriBuilder.Query.Replace("img_index=1", "img_index=0"); var completeImgSrc = uriBuilder.Uri.AbsoluteUri; var slideBlock = browser.FindElementById("slideBlock"); await SlideVerificationCode(pendingImgSrc, completeImgSrc, pendingImg.Size.Width, browser, slideBlock); } } // switch to top browser.SwitchTo().DefaultContent(); var signInBtn = TryWait(waiter, driver => driver.FindElement(By.XPath("/html/body/div[1]/div/div[2]/a"))); signInBtn.Click(); browser.Close(); }
public void WhenISelectTheGermanLanguage() { IWebDriver driver = new ChromeDriver(); driver.FindElement(By.Id("de")).Click(); }
public void GivenIGivenILaunchTheApplication() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("https://localhost:44323/Language"); }
public TestCase() { isFinished = false; chrome = new ChromeDriver(); }
public void CreateInvoice() { //--------------------------------------------------------------- IWebDriver driver = new ChromeDriver(); driver.Url = "https://dev-manage.liveuptop.com"; driver.Manage().Window.Maximize(); var loginPagePO = new LoginPagePO(); PageFactory.InitElements(driver, loginPagePO); var topNavigationPO = new TopNavigationPO(); PageFactory.InitElements(driver, topNavigationPO); var portfolioPO = new PortfolioPagePO(); PageFactory.InitElements(driver, portfolioPO); var commonPageFunctions = new CommonPageFunctions(); PageFactory.InitElements(driver, commonPageFunctions); var tenantChargesPO = new TenantChargesPO(); PageFactory.InitElements(driver, tenantChargesPO); var contactsPO = new ContactsPO(); PageFactory.InitElements(driver, contactsPO); //------------------------------------------------------------------------------------------------------- //Enter Username loginPagePO.UserName.SendKeys("*****@*****.**"); //Enter Password loginPagePO.Password.SendKeys("Testing1!"); //Click on Submit Button loginPagePO.Submit.Click(); //------------------------------------------------------------------------------------------------------- System.Threading.Thread.Sleep(4000); // new Actions(driver).Click(topNavigationPO.GearIcon).Perform(); topNavigationPO.GearIcon.Click(); topNavigationPO.ContactDirectory.Click(); System.Threading.Thread.Sleep(2000); contactsPO.AddContact.Click(); String companyName = commonPageFunctions.randomCharactersGenerator(); System.Threading.Thread.Sleep(2000); contactsPO.AddContactCompanyName.SendKeys(companyName); contactsPO.AddContactContinueButton.Click(); System.Threading.Thread.Sleep(2000); commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.ContactsListTable, companyName); //driver.FindElement(By.XPath("//*[contains(text(),'74zzR8ul')]")).Click(); System.Threading.Thread.Sleep(2000); IJavaScriptExecutor js = (IJavaScriptExecutor)driver; js.ExecuteScript("window.scrollTo(document.body.scrollHeight,0)"); contactsPO.AddTransactionButton.Click(); contactsPO.AddInvoiceButton.Click(); System.Threading.Thread.Sleep(2000); contactsPO.selectOrgEntityProp.Click(); contactsPO.selectFirstFromOrgEntityProp.Click(); System.Threading.Thread.Sleep(2000); contactsPO.DateEditbox.SendKeys("06/20/2019"); commonPageFunctions.EnterPress(contactsPO.DateEditbox); contactsPO.AutoSendDateEditbox.SendKeys("06/20/2019"); commonPageFunctions.EnterPress(contactsPO.AutoSendDateEditbox); contactsPO.LateDateEditbox.SendKeys("06/20/2019"); commonPageFunctions.EnterPress(contactsPO.LateDateEditbox); contactsPO.ClickToAddRow.Click(); commonPageFunctions.selectFromDropdown(contactsPO.SelectAccount, 1); contactsPO.DescriptionTextbox.SendKeys("Description Test"); System.Threading.Thread.Sleep(2000); String randomAmountConverted = commonPageFunctions.randomNumGenConvertToString(); contactsPO.AmountTextbox.SendKeys(randomAmountConverted); System.Threading.Thread.Sleep(2000); String retrievedInvoiceAmount = contactsPO.retrievedInvoiceAmount.Text; contactsPO.SaveInvoiceButton.Click(); System.Threading.Thread.Sleep(2000); Console.WriteLine("The returned Invoice!!! " + retrievedInvoiceAmount); commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.TransactionTable, retrievedInvoiceAmount); contactsPO.InvoiceClickFirstRow.Click(); Console.WriteLine("The returned Invoice again!!! " + retrievedInvoiceAmount); System.Threading.Thread.Sleep(2000); contactsPO.AmountTextbox.Clear(); String randomAmountUpdateConverted = commonPageFunctions.randomNumGenUpdateConvertToString(); contactsPO.AmountTextbox.SendKeys(randomAmountUpdateConverted); System.Threading.Thread.Sleep(2000); String retrievedInvoiceAmountUpdated = contactsPO.retrievedInvoiceAmount.Text; Console.WriteLine(retrievedInvoiceAmountUpdated); contactsPO.UpdateInvoiceButton.Click(); System.Threading.Thread.Sleep(2000); commonPageFunctions.VerifyElementInTableExists(driver, contactsPO.TransactionTable, retrievedInvoiceAmountUpdated); contactsPO.InvoiceClickFirstRow.Click(); System.Threading.Thread.Sleep(3000); contactsPO.InvoiceMoreButton.Click(); contactsPO.InvoiceDeleteButton.Click(); System.Threading.Thread.Sleep(2000); contactsPO.InvoiceDeleteConfirmButton.Click(); System.Threading.Thread.Sleep(2000); contactsPO.DeleteContactsButton.Click(); }
protected Extractor(User user) { Driver = SeleniumProvider.Driver; User = user; }
public override void RunCommand(object sender) { var engine = (IAutomationEngineInstance)sender; var convertedOptions = v_SeleniumOptions.ConvertUserVariableToString(engine); var vURL = v_URL.ConvertUserVariableToString(engine); IWebDriver webDriver; string driverDirectory; if (engine.AutomationEngineContext.ScriptEngine != null && engine.AutomationEngineContext.ScriptEngine.IsScheduledOrAttendedTask) { driverDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "OpenBots Inc", "OpenBots Studio"); } else { driverDirectory = AppDomain.CurrentDomain.BaseDirectory; } switch (v_EngineType) { case "Chrome": ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddUserProfilePreference("download.prompt_for_download", true); if (!string.IsNullOrEmpty(convertedOptions.Trim())) { chromeOptions.AddArguments(convertedOptions); } webDriver = new ChromeDriver(driverDirectory, chromeOptions); break; case "Firefox": string firefoxExecutablePath = @"C:\Program Files\Mozilla Firefox\firefox.exe"; if (!File.Exists(firefoxExecutablePath)) { throw new FileNotFoundException($"Could not locate '{firefoxExecutablePath}'"); } FirefoxOptions firefoxOptions = new FirefoxOptions(); firefoxOptions.BrowserExecutableLocation = firefoxExecutablePath; webDriver = new FirefoxDriver(driverDirectory, firefoxOptions); break; case "Internet Explorer": InternetExplorerOptions ieOptions = new InternetExplorerOptions(); ieOptions.IgnoreZoomLevel = true; webDriver = new InternetExplorerDriver(driverDirectory, ieOptions); break; default: throw new Exception($"The selected engine type '{v_EngineType}' is not valid."); } //add app instance webDriver.AddAppInstance(engine, v_InstanceName); //handle app instance tracking if (v_InstanceTracking == "Keep Instance Alive") { GlobalAppInstances.AddInstance(v_InstanceName, webDriver); } switch (v_BrowserWindowOption) { case "Maximize": webDriver.Manage().Window.Maximize(); break; case "Normal": case "": default: break; } if (!string.IsNullOrEmpty(vURL.Trim()) && vURL.Trim() != "https://") { try { webDriver.Navigate().GoToUrl(vURL); } catch (Exception ex) { if (!vURL.StartsWith("https://")) { webDriver.Navigate().GoToUrl("https://" + vURL); } else { throw ex; } } } }
public static void Initialize() { Driver = new ChromeDriver(); Initialised = true; }
//Wait ajax load static void WaitAJAX(ChromeDriver webDriver, TimeSpan waitForEle) { WebDriverWait wait = new WebDriverWait(webDriver, waitForEle); wait.Until(driver => (bool)((IJavaScriptExecutor)driver).ExecuteScript("return jQuery.active == 0")); }
static void Main(string[] args) { IWebDriver driver = new ChromeDriver("./"); driver.Navigate().GoToUrl("https://gabrielecirulli.github.io/2048/"); Actions builder = new Actions(driver); string json = File.ReadAllText($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}/network.json"); Network net = JsonConvert.DeserializeObject <Network>(json); while (true) { IWebElement tiles = driver.FindElement(By.ClassName("tile-container")); System.Collections.ObjectModel.ReadOnlyCollection <IWebElement> children = tiles.FindElements(By.XPath(".//*")); double[] inputs = new double[16]; foreach (IWebElement child in children) { string className = child.GetAttribute("class"); if (className != "tile-inner") { string[] blocks = className.Split(' '); int tileValue = int.Parse(blocks[1].Substring(5)); int y = int.Parse(blocks[2].Substring(14, 1)) - 1; int x = int.Parse(blocks[2].Substring(16, 1)) - 1; int index = (y * 4 + x) + 4; //single dimension position offset by 4 //tile-position-#-# 2dposition and translate to 1d array, if the new value is bigger replace, otherwise skip if (inputs[index] < tileValue) { inputs[index] = tileValue; } } } // determine blocked move inputs double[] outputs = net.Compute(inputs); int pick = Array.IndexOf(outputs, outputs.Max()); switch (pick) { case 0: builder.SendKeys("w"); break; case 1: builder.SendKeys("s"); break; case 2: builder.SendKeys("a"); break; case 3: builder.SendKeys("d"); break; } builder.Build().Perform(); } }
static void Main(string[] args) { //Initializing List List <EntryModel> Data = new List <EntryModel>(); //Getting tarted on the first page IWebDriver driver = new ChromeDriver(); var id = 1; driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + id); Thread.Sleep(6000); IWebElement body = driver.FindElement(By.TagName("body")); IWebElement iframe = body.FindElement(By.TagName("iframe")); driver.SwitchTo().Frame(iframe); var button = driver.FindElement(By.Id("acceptAll")); button.Click(); Data.Clear(); for (var i = 2; i < 1370; i++) { IWebElement SearchFrom; //Locating the first 2 rowitems try { SearchFrom = driver.FindElement(By.Id("prodgramsanchor")); } catch { Console.WriteLine($"Could not find 'SEARCHFORM' with id: {id}"); driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + i); continue; } var rowitems = SearchFrom.FindElements(By.ClassName("rowitem")); var rowitem1 = rowitems[0]; var rowitem2 = rowitems[1]; var waarde1 = rowitem1.FindElement(By.ClassName("floatright")).Text; var waarde2 = rowitem2.FindElement(By.ClassName("floatright")).Text; IWebElement searchForColumnRight = driver.FindElement(By.ClassName("ColumnRight")); var allPTags = searchForColumnRight.FindElements(By.TagName("p")); var description = allPTags[0].Text; // Adding scraped values to variables var productName = driver.FindElement(By.TagName("h2"))?.Text; var productGroup = driver.FindElement(By.Id("ctl00_cphMain_hplPrdGrp")).Text; var parsedGevoelswaarde = double.TryParse(waarde1, out double w1); var parsedGezonheidswaarde = double.TryParse(waarde2, out double w2); var gevoelsWaarde = parsedGevoelswaarde ? w1 : 0; var gezondheidsWaarde = parsedGezonheidswaarde ? w2 : 0; double portionInGrams; try { portionInGrams = double.TryParse(driver.FindElement(By.Id("gpp")).Text, out double w) ? w : 0; } catch { portionInGrams = 100.0; } var kcal = double.TryParse(driver.FindElement(By.Id("lblKcal")).Text, out double w3) ? w3 : 0; var kJoule = double.TryParse(driver.FindElement(By.Id("lblKjoule")).Text, out double w5) ? w5 : 0; var water = double.TryParse(driver.FindElement(By.Id("lblWater")).Text, out double w6) ? w6 : 0; var proteine = double.TryParse(driver.FindElement(By.Id("lblEiwit")).Text, out double w7) ? w7 : 0; var fat = double.TryParse(driver.FindElement(By.Id("lblVet")).Text, out double w8) ? w8 : 0; var saturatedFat = double.TryParse(driver.FindElement(By.Id("lblVerz")).Text, out double w9) ? w9 : 0; var sNotSaturatedFat = double.TryParse(driver.FindElement(By.Id("lblEov")).Text, out double w10) ? w10 : 0; var pNotSaturatedFat = double.TryParse(driver.FindElement(By.Id("lblMov")).Text, out double w11) ? w11 : 0; var cholestrol = double.TryParse(driver.FindElement(By.Id("lblChol")).Text, out double w12) ? w12 : 0; var carbs = double.TryParse(driver.FindElement(By.Id("lblKoolh")).Text, out double w13) ? w13 : 0; var sugar = double.TryParse(driver.FindElement(By.Id("lblSuikers")).Text, out double w14) ? w14 : 0; var fibers = double.TryParse(driver.FindElement(By.Id("lblVoedv")).Text, out double w15) ? w15 : 0; var vitA = double.TryParse(driver.FindElement(By.Id("lblVitA")).Text, out double v1) ? v1 : 0; var vitB1 = double.TryParse(driver.FindElement(By.Id("lblVitB1")).Text, out double v2) ? v2 : 0; var vitB2 = double.TryParse(driver.FindElement(By.Id("lblVitB2")).Text, out double v3) ? v3 : 0; var vitB6 = double.TryParse(driver.FindElement(By.Id("lblVitB6")).Text, out double v4) ? v4 : 0; var vitB11 = double.TryParse(driver.FindElement(By.Id("lblVitB11")).Text, out double v5) ? v5 : 0; var vitB12 = double.TryParse(driver.FindElement(By.Id("lblVitB12")).Text, out double v6) ? v6 : 0; var vitC = double.TryParse(driver.FindElement(By.Id("lblVitC")).Text, out double v7) ? v7 : 0; var vitD = double.TryParse(driver.FindElement(By.Id("lblVitD")).Text, out double v8) ? v8 : 0; var natrium = double.TryParse(driver.FindElement(By.Id("lblMinNa")).Text, out double m1) ? m1 : 0; var kalium = double.TryParse(driver.FindElement(By.Id("lblMinK")).Text, out double m2) ? m2 : 0; var calcium = double.TryParse(driver.FindElement(By.Id("lblMinCa")).Text, out double m3) ? m3 : 0; var fosfor = double.TryParse(driver.FindElement(By.Id("lblMinP")).Text, out double m4) ? m4 : 0; var ijzer = double.TryParse(driver.FindElement(By.Id("lblMinFe")).Text, out double m5) ? m5 : 0; var magnesium = double.TryParse(driver.FindElement(By.Id("lblMinMg")).Text, out double m6) ? m6 : 0; var koper = double.TryParse(driver.FindElement(By.Id("lblMinCu")).Text, out double m7) ? m7 : 0; var zink = double.TryParse(driver.FindElement(By.Id("lblMinZn")).Text, out double m8) ? m8 : 0; //assigning scraped values to EntryModel Object var entry = new EntryModel(); entry.ProductNaam = productName; entry.ProductGroep = productGroup; entry.Beschrijving = description; entry.Gevoelswaarde = gevoelsWaarde; entry.Gezondheidswaarde = gezondheidsWaarde; entry.ProductGewichtPortie = portionInGrams; entry.Kcal = kcal; entry.KJoule = kJoule; entry.Water = water; entry.Proteine = proteine; entry.Vet = fat; entry.VerzadigdVet = saturatedFat; entry.EnkelvoudigVerzadigdVet = sNotSaturatedFat; entry.MeervoudigVerzadigdVet = pNotSaturatedFat; entry.Cholestrol = cholestrol; entry.Koolhydraten = carbs; entry.Suikers = sugar; entry.Voedingsvezels = fibers; entry.VitamineA = vitA; entry.VitamineB1 = vitB1; entry.VitamineB2 = vitB2; entry.VitamineB6 = vitB6; entry.VitamineB11 = vitB11; entry.VitamineB12 = vitB12; entry.VitamineC = vitC; entry.VitamineD = vitD; entry.Natrium = natrium; entry.Kalium = kalium; entry.Calcium = calcium; entry.FosFor = fosfor; entry.Ijzer = ijzer; entry.Magnesium = magnesium; entry.Koper = koper; entry.Zink = zink; var entryString = JsonConvert.SerializeObject(entry, Formatting.Indented); File.WriteAllText($"C:\\scrapeWithDescription1\\{i}.json", entryString); //add entrymodel object in to list Data Data.Add(entry); Thread.Sleep(3000); driver.Navigate().GoToUrl("https://www.voedingswaardetabel.nl/voedingswaarde/voedingsmiddel/?id=" + i); Thread.Sleep(3000); } //Data.Clear(); //List<EntryModel> entries = new List<EntryModel>(); //for (var i = 2; i < 1370; i++) //{ // if (!File.Exists($"C:\\scrapeWithDescription\\{i}.json")) continue; // var content = File.ReadAllText($"C:\\scrapeWithDescription1\\{i}.json"); // var pContent = JsonConvert.DeserializeObject<EntryModel>(content); // entries.Add(pContent); }
public void Initialize() { Driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); Builder = new Actions(Driver); }
public void CadastroDePJ() { #region Abrir o Chrome //inicializando o chrome IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://main.safety8.local/#/login?cnpj=72.408.271%2F0001-91"); driver.Manage().Window.Maximize(); System.Threading.Thread.Sleep(3000); #endregion #region Login var cnpj = driver.FindElement(By.Id("cnpj")); cnpj.SendKeys("72408271000191"); { var elemento = driver.FindElement(By.CssSelector(".logo-login-q")); Actions builder = new Actions(driver); builder.MoveToElement(elemento).ClickAndHold().Perform(); } driver.FindElement(By.CssSelector(".container-fluid")).Click(); driver.FindElement(By.CssSelector(".ng-scope > .animated")).Click(); { var dropdown = driver.FindElement(By.CssSelector(".ng-scope > .animated")); dropdown.FindElement(By.XPath("/html/body/div[5]/div[2]/div[2]/div/div/div/div/div/div[2]/div[2]/select/option[3]")).Click(); //driver.Quit(); } driver.FindElement(By.CssSelector(".ng-scope > .animated")).Click(); driver.FindElement(By.Id("usuario")).Click(); driver.FindElement(By.Id("usuario")).SendKeys("francisco"); driver.FindElement(By.Id("senha")).SendKeys("F123456"); driver.FindElement(By.CssSelector(".button-login-q")).Click(); #endregion System.Threading.Thread.Sleep(2000); //Aguardando a pagina carregar driver.FindElement(By.Id("botaoMenu")).Click(); System.Threading.Thread.Sleep(1000); //Aguardando a pagina carregar driver.FindElement(By.CssSelector("div:nth-child(3) > ul > li:nth-child(2) > a > span")).Click(); System.Threading.Thread.Sleep(1000); //Aguardando a pagina carregar driver.FindElement(By.CssSelector("div:nth-child(5) > div.container-fluid > div:nth-child(3) > div.index-conteudo.ng-scope.animated.fadeIn.conteudo-geral > div > div > form > div.paddingCard.col-lg-7.col-md-12.col-sm-12.col-xs-12 > div > div.clearfix.card-header.bg-card-teal > button")).Click(); //Informa Nome driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_nome")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_nome")).SendKeys("MONSTROS SA"); //Informa Tipo de Pessoa driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_tipo_pessoa")).Click(); driver.FindElement(By.LinkText("Jurídica")).Click(); //Informa CNPJ driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_cpf_cnpj")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_cpf_cnpj")).SendKeys("16.930.071/0001-23"); //Data de Nascimento driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cli_data_nascimento")).Click(); driver.FindElement(By.CssSelector(".today")).Click(); //Ponto de venda driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_pto_codigo")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_pto_codigo")).SendKeys("matriz"); driver.FindElement(By.LinkText("MATRIZ")).Click(); //Vendedor driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_vend_codigo")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_vend_codigo")).SendKeys("francisco"); driver.FindElement(By.LinkText("FRANCISCO")).Click(); //Origem driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cliori_codigo")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_cliori_codigo")).SendKeys("geral"); driver.FindElement(By.LinkText("GERAL")).Click(); //Sroll na tela driver.ExecuteJavaScript("window.scroll(0,1000)"); //Endereço driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_tpender_codigo")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_tpender_codigo")).SendKeys("residencial"); driver.FindElement(By.LinkText("Residencial")).Click(); driver.FindElement(By.Id("campoCep")).Click(); driver.FindElement(By.Id("campoCep")).SendKeys("84025-350"); //Quando digita o CEP ele carrega a tela para trazer o endereço { var element = driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_ender_numero")); Actions builder = new Actions(driver); builder.MoveToElement(element).ClickAndHold().Perform(); } { var element = driver.FindElement(By.CssSelector(".efeitoOverlay")); Actions builder = new Actions(driver); builder.MoveToElement(element).Release().Perform(); } driver.FindElement(By.CssSelector(".container-fluid")).Click(); driver.FindElement(By.Name("frmAutoFormclientesundefined_edt_ender_numero")).SendKeys("350"); //Salvar driver.FindElement(By.CssSelector("div:nth-child(2) > .btn > span:nth-child(2)")).Click(); }
public AddClienteCpfInvalido() { driver = new ChromeDriver(); }
public ChromeFixture() { driver = new ChromeDriver(); }
public override IList <MoneyStateModel> Scrape(ScraperConfigurationModel configuration, ChromeDriver driver) { driver.Navigate().GoToUrl(@"https://my.modulbank.ru/"); var name = GetElement(driver, By.Name("tel")); var pass = GetElement(driver, By.Name("password")); name.Click(); foreach (var k in configuration.Login) { driver.Keyboard.SendKeys(k.ToString()); Thread.Sleep(100); } pass.Click(); driver.Keyboard.SendKeys(configuration.Password); var now = DateTime.UtcNow; driver.Keyboard.PressKey(Keys.Return); GetElement(driver, By.Name("smsCode")).Click(); bool success = false; while (DateTime.UtcNow - now < TimeSpan.FromMinutes(15)) { var lastSms = _repository.Set <SmsModel>().Where(v => v.When > now.AddMinutes(-3)).OrderByDescending(v => v.When).FirstOrDefault(); if (lastSms?.Message.Contains("Код подтверждения") == true) { var code = new string(lastSms.Message.Where(char.IsDigit).ToArray()); driver.Keyboard.SendKeys(code); success = true; break; } Thread.Sleep(100); } if (!success) { throw new Exception(); } Thread.Sleep(15000); // this should be enough for all data to load... var accounts = driver.FindElementsByClassName("bank_account"); var result = new List <MoneyStateModel>(); foreach (var acc in accounts) { var title = acc.FindElement(By.ClassName("bank_account_name")).Text; var amount = acc.FindElement(By.ClassName("bank_account_money")).Text; amount = new string(amount.Where(v => char.IsDigit(v) || v == ',').ToArray()); var doubleAmount = double.Parse(amount, new NumberFormatInfo() { NumberDecimalSeparator = "," }); result.Add(Money(title, doubleAmount, "RUB")); } return(result); }
public void ButtonByName(string path, ChromeDriver driver) { var button = driver.FindElementByName(path); driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 30)); button.Click(); }
public bool Start_Download(DataTable csvTable) { Progress progress = new Progress(); progress.Set_Max = csvTable.Rows.Count + 6; progress.Show(); progress.Set_Text = "アカウント情報を取得しています..."; progress.Add_ProgressBar(); if (!Input_Account()) { progress.Quit(); return(false); } progress.Set_Text = "SSH接続を試行しています..."; progress.Add_ProgressBar(); if (!Connect_SSH()) { portDynamic.Stop(); portDynamic.Dispose(); sshClient.Disconnect(); sshClient.Dispose(); progress.Quit(); return(false); } progress.Set_Text = "Chromeの準備をしています..."; progress.Add_ProgressBar(); ChromeOptions options = Set_Options(); driver = new ChromeDriver(options); driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); progress.Set_Text = "UEC統合認証中..."; progress.Add_ProgressBar(); if (!UEC_Authorization()) { Terminate_Chrome(); progress.Quit(); return(false); } progress.Set_Text = "シラバス検索ページへ遷移中..."; progress.Add_ProgressBar(); if (!Goto_SearchPage()) { Terminate_Chrome(); progress.Quit(); return(false); } foreach (DataRow row in csvTable.Rows) { progress.Set_Text = $"{string.Join(",", row.ItemArray)}を取得中..."; progress.Add_ProgressBar(); if (!Search_Syllabus(row)) { MessageBox.Show($"次の行のシラバス取得に失敗しました。項目を見直してください。\n{string.Join(",", row.ItemArray)}"); if (!Goto_SearchPage()) { Terminate_Chrome(); progress.Quit(); return(false); } continue; } if (!Download_and_Reference_Syllabus(row)) { MessageBox.Show($"次の行のシラバス取得に失敗しました。項目を見直してください。\n{string.Join(",", row.ItemArray)}"); if (!Goto_SearchPage()) { Terminate_Chrome(); progress.Quit(); return(false); } } if (!Goto_SearchPage()) { Terminate_Chrome(); progress.Quit(); return(false); } } progress.Set_Text = "Chromeの終了処理中..."; progress.Add_ProgressBar(); Terminate_Chrome(); progress.Quit(); return(true); }
public void Navigate(string path, ChromeDriver driver) { driver.Navigate().GoToUrl(path); driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 100)); }
static void Main(string[] args) { try { ObjectLibrary.Helper hlpr = new ObjectLibrary.Helper(); string batchfile = ConfigurationManager.AppSettings["batchfile"]; string brwsr = ConfigurationManager.AppSettings["browser"]; string testfolder = ConfigurationManager.AppSettings["testfolder"]; string ffbin = ConfigurationManager.AppSettings["ffbin"]; DataTable dtbatch = hlpr.dtFromExcelFile(batchfile, "BatchSheet"); IWebDriver drv = null; IWebElement elem = null; /// List<IWebElement> Iwebcollection = null; System.Collections.ObjectModel.ReadOnlyCollection<IWebElement> Iwebcollection = null; foreach (DataRow dr in dtbatch.Rows) { string flagexec = dr["executeflag"].ToString(); if (flagexec.ToLower() == "y") { string scriptname = Path.Combine(testfolder, dr["scriptname"].ToString()); #region SCRIPTEXECUTION DataTable dtscript = hlpr.dtFromExcelFile(scriptname, "Sheet1"); WebDriverWait wait = null; foreach (DataRow drscript in dtscript.Rows) { if (drscript["Comment"].ToString() != null) { string comment = drscript["Comment"].ToString(); } string keyword = drscript["Keyword"].ToString(); string url = drscript["URL"].ToString(); string index = drscript["Index"].ToString(); string fieldname = drscript["FieldName"].ToString(); string subcontrol = drscript["Subcontrol"].ToString(); string searchby = drscript["SearchBy"].ToString(); string searchvalue = drscript["SearchValue"].ToString(); string datavalue = drscript["DataValue"].ToString(); string testcaseid = drscript["testcaseID"].ToString(); string dynatext = drscript["DynaText"].ToString(); switch (keyword.ToLower()) { #region LaunchBrowser case "launchbrowser": { try { if (brwsr.ToLower() == "ie") { drv = new InternetExplorerDriver(); wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00)); } else if (brwsr.ToLower() == "firefox") { FirefoxBinary bin = new FirefoxBinary(ffbin); FirefoxProfile ffprofile = new FirefoxProfile(); drv = new FirefoxDriver(bin,ffprofile); wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00)); } else if (brwsr.ToLower() == "chrome") { drv = new ChromeDriver(); wait = new WebDriverWait(drv, TimeSpan.FromMinutes(5.00)); } } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword launchbrowser: " + ex.ToString()); } break; } #endregion LaunchBrowser #region Navigate case "navigatetourl": { try { drv.Navigate().GoToUrl(url); } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword navigatetourl: " + ex.ToString()); } break; } #endregion Navigate #region ClickLink case "clicklink": { try { hlpr.LogtoTextFile("Looking up for " + fieldname); switch (searchby.ToLower()) { case "linktext": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.LinkText(searchvalue))); elem.Click(); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "partiallinktext": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.PartialLinkText(searchvalue))); elem.Click(); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "divtitle": { try { drv.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(40)); Iwebcollection = drv.FindElements(By.TagName("div")); foreach (IWebElement inddivelem in Iwebcollection) { // inddivelem.FindElement(By.TagName(searchvalue)) // elem = wait.Until(ExpectedConditions.ElementExists(By.TagName(searchvalue))); // elem = wait.Until(ExpectedConditions.ElementExists(By.TagName("div"))); if (inddivelem.GetAttribute("title") == searchvalue) { inddivelem.Click(); break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message); } break; } #endregion Clicklink #region EnterText case "entertext": { try { hlpr.LogtoTextFile("Looking up for " + fieldname); switch (searchby.ToLower()) { case "name": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue))); enterdata(elem, datavalue,dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "id": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue))); enterdata(elem, datavalue, dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "xpath": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue))); enterdata(elem, datavalue, dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message); } break; } #endregion EnterText #region EnterTextArea case "entertextarea" : { try { hlpr.LogtoTextFile("Looking up for " + fieldname); switch (searchby.ToLower()) { case "name": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue))); enterdata(elem, datavalue, dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "id": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue))); enterdata(elem, datavalue, dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "xpath": { try { elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue))); enterdata(elem, datavalue, dynatext); } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message); } break; } #endregion #region ClickButton case "clickbutton": { hlpr.LogtoTextFile("Looking up for " + fieldname); try { switch (searchby.ToLower()) { case "name": { try { if (datavalue == "1") { elem = wait.Until(ExpectedConditions.ElementExists(By.Name(searchvalue))); elem.Click(); } } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "id": { try { if (datavalue == "1") { elem = wait.Until(ExpectedConditions.ElementExists(By.Id(searchvalue))); elem.Click(); } } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "xpath": { try { if (datavalue == "1") { elem = wait.Until(ExpectedConditions.ElementExists(By.XPath(searchvalue))); elem.Click(); } } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } case "value": { try { drv.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(40)); Iwebcollection = drv.FindElements(By.TagName("input")); foreach (IWebElement inddivelem in Iwebcollection) { // inddivelem.FindElement(By.TagName(searchvalue)) // elem = wait.Until(ExpectedConditions.ElementExists(By.TagName(searchvalue))); elem = wait.Until(ExpectedConditions.ElementExists(By.TagName("input"))); if (inddivelem.GetAttribute("value") == searchvalue) { inddivelem.Click(); break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Unable to find " + searchby + " using " + searchvalue + " " + ex.Message); } break; } } } catch (Exception ex) { hlpr.LogtoTextFile("Exception from keyword clicklink " + ex.Message); } break; } #endregion ClickButton #region SelectRadioButton #endregion SelectRadioButton #region VerifyTextonPage case "verifytextonpage": { string acttext = drv.FindElement(By.TagName("body")).Text; hlpr.counter = 1; hlpr.AreEqual(testcaseid, fieldname, "text", searchvalue, acttext, ObjectLibrary.Helper.CompareType.contains); break; } #endregion VerifyTextPage #region VerifyTable #endregion VerifyTable default: { hlpr.LogtoTextFile("Not a Valid keyword " + keyword); break; } } } #endregion SCRIPTEXECUTION } System.Threading.Thread.Sleep(5000); if (drv != null) { drv.Quit(); } } hlpr.LogtoFileCSV(hlpr.dtRep); Console.WriteLine("Exceution Complete Check Results at Configured Paths"); System.Threading.Thread.Sleep(3000); } catch (Exception ex) { Console.WriteLine("Exception in Framewok " + ex.Message); } }
public void StartBrowser() { this.driver = new ChromeDriver(); // Project and job names are inferred. }
public void Setup() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("https://www.globalsqa.com/demo-site/draganddrop"); }
public LoginPage(ChromeDriver browser) { this.browser = browser; }
/// <summary> /// Utility to download all your Fit files from the Garmin Portal /// Uses screenscraping to login / fetch activity list /// Works as at 26 Jan 2019 /// </summary> /// <param name="args"></param> static void Main(string[] args) { using (var driver = new ChromeDriver()) { //Settings var username = "******"; var password = "******"; var destFolder = @"c:\temp\"; //Login to Garmin Portal driver.Navigate().GoToUrl("https://connect.garmin.com/en-US/signin"); driver.SwitchTo().DefaultContent(); var containerFrame = driver.FindElement(By.Id("gauth-widget-frame-gauth-widget")); driver.SwitchTo().Frame(containerFrame); var userNameField = driver.FindElementById("username"); var userPasswordField = driver.FindElementById("password"); var loginButton = driver.FindElementById("login-btn-signin"); userNameField.SendKeys(username); userPasswordField.SendKeys(password); loginButton.Click(); //Move to Activities page driver.Navigate().GoToUrl("https://connect.garmin.com/modern/activities"); //Now fetch json list of activities //TODO: I only have 100 activities so not sure what's the limit you can fetch in a single request - Set to 500 in this example driver.Navigate().GoToUrl("https://connect.garmin.com/modern/proxy/activitylist-service/activities/search/activities?limit=500&start=0"); var json = driver.FindElementByTagName("body"); dynamic activities = JArray.Parse(json.Text); //Here we use a webclient to download each Activity zip file, so we have to pass //in the Cookies from the Selenium session to the WebClient using (var client = new WebClient()) { var cookies = driver.Manage().Cookies.AllCookies; client.Headers[HttpRequestHeader.Cookie] = string.Join("; ", cookies.Select(c => string.Format("{0}={1}", c.Name, c.Value))); foreach (var activity in activities) { //Get an activity zip file var url = $"https://connect.garmin.com/modern/proxy/download-service/files/activity/{activity.activityId}"; var filename = $"{activity.startTimeLocal}-{activity.activityName}-{activity.activityId}".Replace(" ", "").Replace(":", ""); client.DownloadFile(url, $"{destFolder}{filename}.zip"); //Extract the fit file from it using (ZipArchive archive = ZipFile.OpenRead($"{destFolder}{filename}.zip")) { var fitFile = archive.Entries[0]; fitFile.ExtractToFile($"{destFolder}{filename}.fit", true); //Set last-modified of the fit file to the time the activity started var fileTime = DateTime.ParseExact(activity.startTimeLocal.ToString(), "yyyy-MM-dd HH:mm:ss", null); File.SetLastWriteTime($"{destFolder}{filename}.fit", fileTime); } } } driver.Close(); } }
static void Main(string[] args) { //Declaration //l = phone numbers, quotation number, desc of the records, entity, submission date , submission time, name of user List<string> l = new List<string>(); List<string> quotation = new List<string>(); List<string> desc = new List<string>(); List<string> entity = new List<string>(); List<string> subDate = new List<string>(); List<string> subTime = new List<string>(); List<string> name = new List<string>(); List<string> kw = new List<string>(); Dictionary<string, string> dict = new Dictionary<string, string>(); int numbrecords = 0; string filename = ""; #region Load google chrome // Initialize the Chrome Driver using (var driver = new ChromeDriver()) { LoadFile(ref l, ref dict); // Go to the home page driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId"); #region autofill and extract data from GeBiz webpage foreach (var val in l) { //Get the page elements var fromdate = driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[5]/td[4]/input"); var todate = driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[2]/tbody/tr/td/table/tbody/tr[2]/td/table/tbody/tr[5]/td[6]/input"); var keyword = driver.FindElementByName("searchByDesc"); new SelectElement(driver.FindElement(By.Name("dateType"))).SelectByIndex(1); var submitbutton = driver.FindElementByName("submitAction"); fromdate.SendKeys(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")); todate.SendKeys(DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")); keyword.SendKeys(val); //click the submit button submitbutton.Click(); if (driver.FindElements(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td")).Count == 1) { driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId"); } else { if (driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td").Text.Equals("No data found")) { Console.WriteLine("No Data Found"); driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId"); } else { #region Checking the number of records for (int j = 11; j > 1; j--) { //select the records by row if (driver.FindElements(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + j + "]")).Count == 1) { Console.WriteLine(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[2]/td").Text); numbrecords = j + 1; #region Storing quotation and desc to list for (int i = 2; i < numbrecords; i++) { //get the record from the current row on the quotation col quotation.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[2]/table/tbody/tr[1]/td/a/b").Text); //get the record from the current row on the description col desc.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[3]/table/tbody/tr[1]/td").Text); //get the record from the current row on entity from description col entity.Add(RemoveWord(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[3]/table/tbody/tr[2]/td").Text)); //get the record from the current row on submission date from closing date/time col subDate.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[5]/table/tbody/tr[1]/td").Text); //get the record from the current row on submission time from closing date/time col subTime.Add(driver.FindElementByXPath("/html/body/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td/form/table[3]/tbody/tr/td/table[1]/tbody/tr[" + i + "]/td[5]/table/tbody/tr[2]/td").Text); //add the name of the organisation that the keyword belong to name.Add(dict[val]); //add the keyword kw.Add(val); } driver.Navigate().GoToUrl("http://www.gebiz.gov.sg/scripts/main.do?sourceLocation=openarea&select=tenderId"); break; #endregion } } #endregion } } } #endregion } #endregion //saving to excel file filename = SaveExcel(); ExportData(filename, ref quotation, ref desc, ref entity, ref subDate, ref subTime, ref name, ref kw); }
public void AnouthorizedAccesEnrollment() { IWebDriver webDriver = new ChromeDriver(); webDriver.Url = "https://localhost:44317/Admin/CreateEnroll"; }