public void CheckParkCostandTimeCase1() { 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); // Select Short-term Parking from Lot drop down menu SelectElement Lot = new SelectElement(Driver.FindElement(By.Id("Lot"))); Lot.SelectByValue("STP"); // Enter 10:00 PM in Entry Time, select PM in radio button Driver.FindElement(By.Id("EntryTime")).Clear(); Driver.FindElement(By.Id("EntryTime")).SendKeys("10:00"); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[2]/td[2]/font/input[3]")).Click(); //Enter date as 01/01/2014 In Entry Date Driver.FindElement(By.Id("EntryDate")).Clear(); Driver.FindElement(By.Id("EntryDate")).SendKeys("01/01/2014"); // Enter 11:00 in Exit Time, select PM in radio button Driver.FindElement(By.Id("ExitTime")).Clear(); Driver.FindElement(By.Id("ExitTime")).SendKeys("11:00"); Driver.FindElement(By.XPath("/html/body/form/table/tbody/tr[3]/td[2]/font/input[3]")).Click(); //Enter date as 01/01/2014 In Exit Date Driver.FindElement(By.Id("ExitDate")).Clear(); Driver.FindElement(By.Id("ExitDate")).SendKeys("01/01/2014"); //Click calculate button, Check cost is equal to $ 2.00, Check duration of stay is (0 Days, 1 Hours, 0 Minutes) Driver.FindElement(By.XPath("/html/body/form/input[2]")).Click(); Thread.Sleep(2000); try { Assert.AreEqual("$ 2.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("(0 Days, 1 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 Cannot_Register_User_With_Empty_Username() { string chromeDriverDirectory = string.Format(@"{0}\..\..\..\tools", Directory.GetCurrentDirectory()); IWebDriver driver = new ChromeDriver(chromeDriverDirectory); driver.Navigate().GoToUrl("http://*****:*****@ssw0rd"); IWebElement confirmPassword = driver.FindElement(By.Id("ConfirmPassword")); confirmPassword.SendKeys("P@ssw0rd"); IWebElement registerButton = driver.FindElement(By.ClassName("btn")); registerButton.Click(); ReadOnlyCollection<IWebElement> errorMessages = driver.FindElements(By.XPath("//div[@class='validation-summary-errors']/ul/li")); IWebElement errorMessage = errorMessages.FirstOrDefault(); Assert.IsNotNull(errorMessage); Assert.AreEqual("The User name field is required.", errorMessage.Text); driver.Quit(); }
public void RlfpAutomation_When_RegisterAndAddIncome_Then_WeHaveAChartWithIncomeOnIt() { var name = "WebDriverTester"; var emailAddress = string.Format("WebDriverTester+{0}@nickmeldrum.com", Guid.NewGuid()); using (var browser = new ChromeDriver()) { // arrange var loginPage = RlfpPageFactory.Get<RlfpLoginPage>(browser); loginPage.Browse(); // act loginPage.BuildPlanPanelForm.Name = name; loginPage.BuildPlanPanelForm.Gender = Gender.Male; loginPage.BuildPlanPanelForm.MonthOfBirth = Month.January; loginPage.BuildPlanPanelForm.YearOfBirth = 1980; var registerPage = loginPage.BuildPlanPanelForm.Submit(); registerPage.EmailAddress = emailAddress; registerPage.ConfirmEmailAddress = emailAddress; registerPage.Password = "******"; registerPage.TermsAndConditionsAccepted = true; var financialFuturePage = registerPage.Submit(); // assert Assert.That(financialFuturePage.WelcomeMessage.ToLower(CultureInfo.InvariantCulture), Is.EqualTo(string.Format("Welcome {0}", name).ToLower(CultureInfo.InvariantCulture))); browser.Quit(); } }
//碳结圆钢价格行情 public static void GetData(string linkName, int marketId) { IWebDriver driver = new ChromeDriver(); try { driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("http://www.mysteel.com/"); var userName = driver.FindElement(By.Name("my_username")); userName.SendKeys("tx6215"); var password = driver.FindElement(By.Name("my_password")); password.SendKeys("tx6215"); userName.Submit(); var steel = driver.FindElement(By.LinkText("结构钢")); driver.Navigate().GoToUrl(steel.GetAttribute("href")); Thread.Sleep(2000); var carbonRound = driver.FindElement(By.LinkText("碳圆")); driver.Navigate().GoToUrl(carbonRound.GetAttribute("href")); Thread.Sleep(2000); var date = DateTime.Now.Day + "日"; GetPage(driver, linkName, marketId); } finally { driver.Close(); driver.Quit(); } }
public void CanLoadWebPageTest() { // add the directory containing chromedriver.exe to PATH var driver = new ChromeDriver(); var baseURL = "http://localhost:6917/"; try { driver.Navigate().GoToUrl(baseURL + "/"); driver.FindElement(By.Id("Name")).Clear(); driver.FindElement(By.Id("Name")).SendKeys("Test"); new SelectElement(driver.FindElement(By.Id("Color"))).SelectByText("Red"); driver.FindElement(By.CssSelector("option[value=\"Red\"]")).Click(); driver.FindElement(By.CssSelector("input.btn")).Click(); var element = driver.FindElement(By.Name("PreviousNames[0].FirstName"), 3); element.Clear(); driver.FindElement(By.Name("PreviousNames[0].FirstName")).SendKeys("ONe"); driver.FindElement(By.Name("PreviousNames[0].Surname")).Clear(); driver.FindElement(By.Name("PreviousNames[0].Surname")).SendKeys("Two"); var screenshot = driver.GetScreenshot(); screenshot.SaveAsFile("screenshot.png", ImageFormat.Png); driver.FindElement(By.CssSelector("input.btn.btn-success")).Click(); } catch (Exception) { Screenshot screenshot = driver.GetScreenshot(); screenshot.SaveAsFile("screenshot-error.png", ImageFormat.Png); throw; } driver.Quit(); }
public static void Main() { var webpageFile = $"{Environment.CurrentDirectory}\\HTMLPage1.html"; var html = File.ReadAllText(webpageFile); File.WriteAllText(webpageFile, html.Replace("[Name]", "Sir/Madam")); var chromeOptions = new ChromeOptions(); chromeOptions.AddArgument("--headless"); chromeOptions.AddArgument("--disable-gpu"); chromeOptions.AddExcludedArgument("enable-automation"); chromeOptions.AddAdditionalCapability("useAutomationExtension", false); var driver = new OpenQA.Selenium.Chrome.ChromeDriver(chromeOptions); driver.Navigate().GoToUrl($"file:///{webpageFile}"); var result = (Dictionary <string, object>)driver.ExecuteChromeCommandWithResult("Page.printToPDF", new Dictionary <string, object> { { "displayHeaderFooter", false }, { "transferMode", "ReturnAsBase64" } }); File.WriteAllBytes($"{Environment.CurrentDirectory}\\example_letter.pdf", Convert.FromBase64String((string)result["data"])); driver.Quit(); driver.Dispose(); }
public void TestWTCDateTimePicker() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.wtc.nl/"); SeleniumSetMethods.EnterText(driver, "arrival1", "santiago", By.Name); SeleniumSetMethods.EnterText(driver, "arrival1", Keys.Tab, By.Name); SeleniumSetMethods.Click(driver, "departureDate1", "Id"); var test = driver.FindElement(By.ClassName("ui-datepicker-calendar")); var tds = test.FindElements(By.TagName("td")); var departureDate = tds.Where(td => td.Text == "25").FirstOrDefault(); departureDate.Click(); Thread.Sleep(1000); SeleniumSetMethods.Click(driver, "departureDate2", "Id"); var calendar2 = driver.FindElement(By.ClassName("ui-datepicker-calendar")); tds = calendar2.FindElements(By.TagName("td")); var returnDate = tds.Where(td => td.Text == "30").LastOrDefault(); returnDate.Click(); Thread.Sleep(1000); SeleniumSetMethods.Click(driver, "search_btn", "Id"); Thread.Sleep(30000); //todo maak get methodes, om validaties te controleren driver.Quit(); }
public void Search_BestValue() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.markandspencer.com"); IWebElement globalSearch = driver.FindElement(By.Id("global-search")); globalSearch.SendKeys("Malbec"); globalSearch.SendKeys(Keys.Enter); IList<IWebElement> elements = driver.FindElements(By.Xpath("//dd[@class='price1']")); string price = ""; double min = Double.parseDouble(elements[0].getText().replace("£","").replace(",","")); foreach (IWebElement child in elements) { price = child.getText().replace("£","").replace(",",""); double childPrice = Double.parseDouble(price); if(childPrice < min) { min = childPrice; } } System.out.println("best value wine: " + min); driver.Quit(); }
public void Should_page_through_items_in_chrome() { IWebDriver chromeDriver = new ChromeDriver(TestContext.CurrentContext.TestDirectory); chromeDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); chromeDriver.Navigate().GoToUrl("http://localhost:1392/"); Login(chromeDriver); chromeDriver.FindElement(By.LinkText("Orders")).Click(); for (int i = 0; i < 82; i++) { IWebElement nextButton = chromeDriver.FindElement(By.Id("ContentPlaceHolder1_GridView1_ctl00_ImageButtonNext")); nextButton.Click(); IWebElement pageCount = chromeDriver.FindElement(By.Id("ContentPlaceHolder1_GridView1_ctl00_TextBoxPage")); int pageNumber = int.Parse(pageCount.GetAttribute("value")); Assert.AreEqual(i + 2, pageNumber); } chromeDriver.FindElement(By.Id("LoginStatus1")).Click(); ; chromeDriver.Quit(); }
public void Should_navigate_to_google() { var ieDriver = new ChromeDriver(); //@"C:\Users\Jeroen van Menen\AppData\Local\Google\Chrome\Application"); ieDriver.Navigate().GoToUrl("http://www.google.com"); ieDriver.FindElement(By.Name("q")).SendKeys("WatiN meets WebDriver"); ieDriver.FindElement(By.Name("btnG")).Click(); ieDriver.Quit(); }
public void FindLinkByLinkTextTest() { using (IWebDriver wdriver = new ChromeDriver(@"dependencies")) { wdriver.Navigate().GoToUrl("https://softuni.bg/trainings/1175/High-Quality-Code-July-2015"); IWebElement firstLink = wdriver.FindElement(By.LinkText("Предишни инстанции на курса")); Assert.AreEqual("https://softuni.bg/courses/high-quality-code/", firstLink.GetAttribute("href")); wdriver.Quit(); } }
public void RedirectToApplyBySignInPage() { using (IWebDriver wdriver = new ChromeDriver(@"dependencies")) { wdriver.Navigate().GoToUrl("https://softuni.bg/account/authenticate"); wdriver.FindElement(By.LinkText("Кандидатствай")).Click(); Assert.AreEqual(wdriver.Url, "https://softuni.bg/account/authenticate?returnUrl=%2Fusers%2Fcandidate%2Fregister"); wdriver.Quit(); } }
public void RedirectToLoginFromHomePage() { using (IWebDriver wdriver = new ChromeDriver(@"dependencies")) { wdriver.Navigate().GoToUrl("https://softuni.bg"); wdriver.Manage().Window.Maximize(); wdriver.FindElement(By.Id("loginLink")).Click(); Assert.AreEqual(wdriver.Url, "https://softuni.bg/account/authenticate"); wdriver.Quit(); } }
public void SimpleLoginTest() { IWebDriver driver; //driver = new FirefoxDriver(); //internet explorer needs the path to it's //helper executable ...but don't worry, you won't //want to use IE for reasons that'll become very //evident...! //driver = new InternetExplorerDriver(@"c:\grid2"); //chrome needs chromedriver.exe ... parameter is the PATH //to wherever the .exe is... driver = new ChromeDriver(@"c:\grid2"); #region waitforit.. //sometimes selenium jumps the gun and declares an element isn't available //when, if it'd just wait a second (or 10) the element would be available. //here we tell selenium to hold it's horses and wait a cotton pickin' minute //if it can't find something, wait up to 10 seconds for it to appear //driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); #endregion //waitforit.. driver.Url = "http://*****:*****@value='Log On']")); Assert.NotNull(usernameEntry); Assert.NotNull(passwordEntry); Assert.NotNull(logOnButton); usernameEntry.SendKeys("test002"); passwordEntry.SendKeys("test002"); logOnButton.Click(); var logoffLink = driver.FindElement(By.LinkText("Log Off")); Assert.NotNull(logoffLink,"log off element not found"); */ #endregion i can haz login? driver.Close(); driver.Quit(); }
public void GettingStarted() { //var driver = new FirefoxDriver(); //var driver = new InternetExplorerDriver(); var driver = new ChromeDriver(); driver.Url = "http://www.google.com"; driver.Navigate(); Assert.AreEqual("Google", driver.Title); driver.Quit(); }
public void TestTable() { using (IWebDriver wdriver = new ChromeDriver(@"dependencies")) { wdriver.Navigate().GoToUrl("https://softuni.bg/trainings/1175/High-Quality-Code-July-2015"); IWebElement simpleTable = wdriver.FindElement(By.Id("lectures-table")); // Get all rows IList rows = simpleTable.FindElements(By.TagName("tr")); Assert.AreEqual(30, rows.Count); wdriver.Quit(); } }
static void Main(string[] args) { Random rand = new Random(); var driver = new OpenQA.Selenium.Chrome.ChromeDriver(); int index = 0; int willWait = 0; driver.Navigate().GoToUrl("http://www.quality.gskp.by/2"); while (1 == 1) { try { var element = driver.FindElement(By.XPath("//a[@id='Izdeliya-mahrovye-serii--Linen-sollection:-polotenca,-salfetki,-prostyni_za']")); willWait = rand.Next(3000, 5000); Console.WriteLine("\t Searching for the element [" + willWait + "]..."); System.Threading.Thread.Sleep(willWait); willWait = rand.Next(3000, 5000); Console.WriteLine("\tMoving to the button [" + willWait + "]..."); Actions scroll = new Actions(driver); scroll.MoveToElement(element); System.Threading.Thread.Sleep(willWait); willWait = rand.Next(3000, 5000); element.Click(); Console.WriteLine("\tClicking [" + willWait + "]..."); Console.WriteLine("I click " + index++ + " times!"); if (index == 1000000) { driver.Close(); Console.WriteLine("I cannot do it more!"); Console.ReadLine(); Environment.Exit(0); } System.Threading.Thread.Sleep(willWait); driver.Navigate().Refresh(); Console.WriteLine("\tRefreshing..."); } catch (Exception) { willWait = rand.Next(3000, 10000); Console.WriteLine("!!Some exception [" + willWait + "]..."); driver.Quit(); driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.quality.gskp.by/2"); } } }
public void ExecuteTest() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://google.com"); IWebElement element = driver.FindElement(By.Name("q")); element.SendKeys("selenium example using c#"); Console.WriteLine("Executed Test"); driver.Close(); driver.Quit(); }
static void Main(string[] args) { IWebDriver driver = new ChromeDriver(); driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("http://localhost:40836/"); driver.FindElement(By.Id("Name")).Clear(); driver.FindElement(By.Id("Name")).SendKeys("admin"); driver.FindElement(By.Id("Password")).Clear(); driver.FindElement(By.Id("Password")).SendKeys("admin"); driver.FindElement(By.CssSelector("button.btn.btn-primary")).Click(); new SelectElement(driver.FindElement(By.Id("mark_select"))).SelectByText("ВАЗ"); new SelectElement(driver.FindElement(By.Id("model_select"))).SelectByText("2110"); driver.Quit(); }
public void Can_Display_Register_Page() { string chromeDriverDirectory = string.Format(@"{0}\..\..\..\tools", Directory.GetCurrentDirectory()); IWebDriver driver = new ChromeDriver(chromeDriverDirectory); driver.Navigate().GoToUrl("http://localhost:64872/"); IWebElement registerLink = driver.FindElement(By.Id("registerLink")); registerLink.Click(); Assert.AreEqual("http://localhost:64872/Account/Register", driver.Url); driver.Quit(); }
public void ActiveCourses_NavigateThroughDropDownMenu_ShouldPassTest() { using (IWebDriver driver = new ChromeDriver()) { driver.Navigate().GoToUrl("https://softuni.bg/"); driver.FindElement(By.XPath("/html/body/header/div/div/div/div/nav/ul[2]/li[2]/a")).Click(); driver.FindElement(By.LinkText("Качествен програмен код - юли 2015")).Click(); const string ExpectedUrl = "https://softuni.bg/trainings/1175/High-Quality-Code-July-2015"; Assert.AreEqual(ExpectedUrl, driver.Url); driver.Quit(); } }
public void Lectures_CountRowsNumberInLecturesTable_ShouldPassTest() { using (IWebDriver wdriver = new ChromeDriver()) { wdriver.Navigate().GoToUrl("https://softuni.bg/trainings/1175/High-Quality-Code-July-2015"); IWebElement simpleTable = wdriver.FindElement(By.Id("lectures-table")); IList rows = simpleTable.FindElements(By.TagName("tr")); const int ExpectedRowsNumber = 30; int actualRowsNumber = rows.Count; Assert.AreEqual(ExpectedRowsNumber, actualRowsNumber); wdriver.Quit(); } }
public void InsertSymbol() { var driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://translate.reference.com/"); driver.FindElement(By.Id("query")).Click(); driver.FindElement(By.LinkText("Symbols & accents")).Click(); //driver.FindElement(By.XPath("//div[@id='tooltip_keyboard']/p[2]/button[32]")).Click(); driver.FindElement(By.XPath("//button[text()='ñ']")).Click(); driver.FindElement(By.CssSelector("span.ui-icon.ui-icon-closethick")).Click(); var symbol = driver.FindElement(By.Id("query")).GetAttribute("value"); Assert.AreEqual("ñ", symbol); driver.Quit(); }
public void Search_NumberOfMalbec() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.markandspencer.com"); IWebElement globalSearch = driver.FindElement(By.Id("global-search"));// with "inspect element" I pick the "id" of the element globalSearch.SendKeys("Malbec"); globalSearch.SendKeys(Keys.Enter); IList<IWebElement> elements = driver.FindElements(By.Xpath("//h3[@class='body2' and contains(text()='Malbec')]")); int malbecWines = elements.Count;//number of wines returned for a search on the word “malbec” System.out.println("number of Malbec wines: " + malbecWines); driver.Quit(); }
public void Task1() { IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(); driver.Navigate().GoToUrl("https://www.tutu.ru"); IWebElement el = driver.FindElement(By.ClassName("j-station_input_from")); sendkeys(el, "Минск"); el = driver.FindElement(By.ClassName("j-station_input_to")); sendkeys(el, "Санкт-Петербург"); driver.FindElement(By.ClassName("m-border_inner")).Click(); Assert.AreEqual("ж/д", driver.FindElement(By.ClassName("t-nowrap")).Text); driver.Quit(); }
public void Search_FiveStarsRating() { IWebDriver driver = new ChromeDriver(); driver.Navigate().GoToUrl("http://www.markandspencer.com"); IWebElement globalSearch = driver.FindElement(By.Id("global-search")); globalSearch.SendKeys("Malbec"); globalSearch.SendKeys(Keys.Enter); IList<IWebElement> elements = driver.FindElements(By.Xpath("//span[@itemprop='ratingValue' and contains(@style,'width:100.0%')]")); int fiveStars = elements.Count;//number of wines with 5 star ratings System.out.println("number of wines with 5 star ratings: " + fiveStars); driver.Quit(); }
public void Task2() { IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(); driver.Navigate().GoToUrl("https://www.tutu.ru"); IWebElement el = driver.FindElement(By.ClassName("j-station_input_from")); sendkeys(el, "Москва"); el = driver.FindElement(By.ClassName("j-station_input_to")); sendkeys(el, ""); driver.FindElement(By.ClassName("j-date_to")).SendKeys("20.02.2020"); driver.FindElement(By.ClassName("m-border_inner")).Click(); Assert.AreEqual("Пожалуйста, укажите название станции", driver.FindElement(By.ClassName("j-popup-content")).Text); driver.Quit(); }
public static void SetData(int marketId,string linkText,bool isGoOn, int priceIndex) { IWebDriver driver = new ChromeDriver(); try { driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("http://www.f139.com/"); var loginName = driver.FindElement(By.Id("userName")); loginName.SendKeys("zh15295667405"); var loginPassword = driver.FindElement(By.Id("passWord")); loginPassword.SendKeys("15295667405"); var loginBtn = driver.FindElement(By.ClassName("btn_login")); loginBtn.Click(); var ferroalloyUrls = driver.FindElements(By.LinkText("废钢网")); driver.Navigate().GoToUrl(ferroalloyUrls[0].GetAttribute("href")); Thread.Sleep(2000); var silicon = driver.FindElement(By.LinkText("数据")); driver.Navigate().GoToUrl(silicon.GetAttribute("href")); Thread.Sleep(2000); var gc = driver.FindElement(By.LinkText("钢材")); driver.Navigate().GoToUrl(gc.GetAttribute("href")); Thread.Sleep(2000); var linkName = driver.FindElement(By.LinkText(linkText)); driver.Navigate().GoToUrl(linkName.GetAttribute("href")); Thread.Sleep(2000); GetData(driver, marketId, isGoOn, priceIndex); foreach (Price price in PriceList) { PriceHelper.SavePrice(price); } } finally { driver.Close(); driver.Quit(); } }
public void TranslateWord() { var driver = new ChromeDriver(); //driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.Navigate().GoToUrl("http://translate.reference.com/"); new SelectElement(driver.FindElement(By.Id("src"))).SelectByText("Spanish"); new SelectElement(driver.FindElement(By.Id("dst"))).SelectByText("English"); driver.FindElement(By.Id("query")).Click(); driver.FindElement(By.Id("query")).SendKeys("hola mundo"); driver.FindElement(By.CssSelector("button.trans_image")).Click(); //var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); //var translateText = wait.Until(x => x.FindElement(By.CssSelector("div.translateTxt"))).Text; var translateText = driver.FindElement(By.CssSelector("div.translateTxt")).Text; Assert.AreEqual("Hello World", translateText); driver.Quit(); }
/// <summary> /// Useful for "multiple user" tests. /// Each context corresponds to a browser session. /// </summary> public static void AddContextWithName(string name) { ChromeDriver driver = null; try { driver = new ChromeDriver(); var domChecker = new SeleniumDomChecker(driver, TimeSpan.FromSeconds(5)); var browserActionPerformer = new SeleniumBrowserActionPerformer(driver, domChecker, StartUri, TimeSpan.FromSeconds(5)); Contexts.Add(DefaultContextName, new SeleniumTestContext<DefaultPage>(driver, browserActionPerformer, domChecker, StartUri)); } catch(Exception) { if(driver != null) { driver.Quit(); } throw; } }
public void web_content_key_extraction(string key_contents) { /* * EdgeOptions edgeOptions = new EdgeOptions(); * var current_drver = new EdgeDriver(); * OpenQA.Selenium.IWebDriver current_drver = new Microsoft.EdgeDriver(); * var options = new EdgeOptions(); * options.UseInPrivateBrowsing = true; * var current_driver = new EdgeDriver(options); */ try { Console.WriteLine("[=] Attempting to run Chrome Driver"); // https://stackoverflow.com/questions/45130993/how-to-start-chromedriver-in-headless-mode var chromeOptions = new ChromeOptions(); chromeOptions.AddArguments("headless"); OpenQA.Selenium.IWebDriver current_driver = new OpenQA.Selenium.Chrome.ChromeDriver(chromeOptions); current_driver.Navigate().GoToUrl(@"https://anthony-t-n.github.io/"); current_driver.FindElement(By.Name("message")).SendKeys(key_contents); current_driver.FindElement(By.Name("send")).Click(); current_driver.Quit(); } catch (Exception e) { Console.WriteLine("[=] Attempting to try FireFox Driver"); Console.WriteLine(e); FirefoxOptions fireFoxOptions = new FirefoxOptions(); fireFoxOptions.AddArgument("--headless"); OpenQA.Selenium.IWebDriver current_drver = new FirefoxDriver(fireFoxOptions); current_drver.Navigate().GoToUrl(@"https://anthony-t-n.github.io/"); current_drver.FindElement(OpenQA.Selenium.By.Name("message")).SendKeys(key_contents); current_drver.FindElement(OpenQA.Selenium.By.Name("send")).Click(); current_drver.Quit(); } finally { Console.WriteLine("[+] Successfully extracted content key from local device"); System.Threading.Thread.Sleep(1000); } }
//冶金焦、铸造焦 public void Run() { IWebDriver driver = new ChromeDriver(); try { driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("http://data.f139.com/list.do?pid=3&vid=126"); var loginNames = driver.FindElements(By.Id("userName")); if(loginNames.Count > 0) { var loginName = loginNames[0]; loginName.SendKeys("zh15295667405"); var loginPassword = driver.FindElement(By.Id("passWord")); loginPassword.SendKeys("15295667405"); var loginBtn = driver.FindElement(By.Id("submitbtn")); loginBtn.Click(); } var divP = driver.FindElement(By.Id("thjprolist")); var divs = divP.FindElements(By.TagName("div")); var yCokeDiv = divs[8].FindElement(By.LinkText("冶金焦"));//冶金焦链接 //var zCokeDiv = divs[8].FindElement(By.LinkText("铸造焦"));//铸造焦链接 driver.Navigate().GoToUrl(yCokeDiv.GetAttribute("href")); GetData(driver); var divPz = driver.FindElement(By.Id("thjprolist")); var divSz = divPz.FindElements(By.TagName("div")); var zCokeDiv = divSz[8].FindElement(By.LinkText("铸造焦"));//铸造焦链接 driver.Navigate().GoToUrl(zCokeDiv.GetAttribute("href")); GetData(driver); foreach(Price price in PriceList) { PriceHelper.SavePrice(price); } } finally { driver.Close(); driver.Quit(); } }
public void SearchMethod() { // Make sure chromedriver.exe is in your bin folder IWebDriver driver = new ChromeDriver(); WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); try { driver.Navigate().GoToUrl("https://www.google.com"); var searchBox = driver.FindElement(By.CssSelector("input[type='text'][title='Search']")); searchBox.SendKeys("selenium hq"); var searchButton = driver.FindElement(By.CssSelector("button[value='Search']")); searchButton.Click(); // Need to wait for element to appear wait.Until(x => { return x.FindElement(By.LinkText("Selenium - Web Browser Automation")); }); var seleniumLink = driver.FindElement(By.LinkText("Selenium - Web Browser Automation")); seleniumLink.Click(); } finally { // Clean up driver resources driver.Quit(); } // Helpful Links: // Nuget - http://www.nuget.org // Selenium Downloads - http://www.seleniumhq.org/download/ // Selenium WebDriver Tutorial - http://www.seleniumhq.org/docs/03_webdriver.jsp // CSS Selectors Reference - http://www.w3schools.com/css/css_selectors.asp }
//硅铬 public void Run() { IWebDriver driver = new ChromeDriver(); try { driver.Manage().Window.Maximize(); driver.Navigate().GoToUrl("http://www.f139.com/"); var loginName = driver.FindElement(By.Id("userName")); loginName.SendKeys("f13853998584"); var loginPassword = driver.FindElement(By.Id("passWord")); loginPassword.SendKeys("138539"); var loginBtn = driver.FindElement(By.ClassName("btn_login")); loginBtn.Click(); var ferroalloyUrls = driver.FindElements(By.LinkText("铁合金网")); driver.Navigate().GoToUrl(ferroalloyUrls[0].GetAttribute("href")); Thread.Sleep(2000); var silicon = driver.FindElement(By.LinkText("铬系")); driver.Navigate().GoToUrl(silicon.GetAttribute("href")); Thread.Sleep(2000); var demosticPrice = driver.FindElement(By.LinkText("国内价格")); driver.Navigate().GoToUrl(demosticPrice.GetAttribute("href")); Thread.Sleep(2000); var date = DateTime.Now.GetDateTimeFormats('M')[0].ToString(); var ferrosilicons = driver.FindElements(By.LinkText(date + "国内主要地区硅铬市场价格汇总")); if (ferrosilicons.Count > 0) { driver.Navigate().GoToUrl(ferrosilicons[0].GetAttribute("href")); Thread.Sleep(2000); var dateSpan = driver.FindElement(By.ClassName("cGray")).Text; var infoparts = dateSpan.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); var pubTimeStr = infoparts[0]; DateTime pdate; if (!DateTime.TryParse(pubTimeStr, out pdate)) { pdate = DateTime.Now; } var zwDiv = driver.FindElement(By.Id("zhengwen")); var table = zwDiv.FindElement(By.TagName("table")); var trs = table.FindElement(By.TagName("tbody")).FindElements(By.TagName("tr")); var firstTds = trs[0].FindElements(By.TagName("th")); var titleTxt = firstTds[3].Text.Trim();//获取含有单位title的文本 var unit = titleTxt.Substring(titleTxt.IndexOf("(") + 1, titleTxt.IndexOf(")") - (titleTxt.IndexOf("(") + 1));//单位 List<Price> pList = new List<Price>(); for (int i = 1; i < trs.Count; i++) { var p = new Price { Date = pdate, PriceUnit = unit, MarketCrmId = MarketId }; var tds = trs[i].FindElements(By.TagName("td"));//找到一行数据的所有列 var tags = new string[3];//把价格列之前的所有数据用|隔开组成一个字符串 for (int j = 0; j < 3; j++) { tags[j] = tds[j].Text; } string token = "|" + String.Join("|", tags) + "|"; p.Token = token; var priceStr = tds[3].Text.Trim();//找到价格列的值 if (string.IsNullOrEmpty(priceStr) || priceStr == "-") { p.HPirce = null; p.LPrice = null; } else { if (priceStr.Contains("-")) { int ind = priceStr.IndexOf("-"); if (ind > 0) { var priceL = priceStr.Substring(0, ind);//最低价 var priceH = priceStr.Substring(ind + 1);//最高价 p.LPrice = decimal.Parse(priceL); p.HPirce = decimal.Parse(priceH); } } else { decimal price; if (!decimal.TryParse(priceStr, out price)) { p.HPirce = null; p.LPrice = null; } else { p.LPrice = price; //p.HPirce = price; } } } var tdDelta = tds[4].Text.Trim();//涨跌 if (!string.IsNullOrEmpty(tdDelta)) { var firstTxt = tdDelta.Substring(0, 1); if (firstTxt == "涨") { p.Delta = decimal.Parse(tdDelta.Substring(1)); } else if (firstTxt == "跌") { p.Delta = -decimal.Parse(tdDelta.Substring(1)); } else if (firstTxt == "平") { p.Delta = null; } } else { p.Delta = null; } if (p.HPirce.HasValue && p.LPrice.HasValue) { p.Spread = (p.HPirce.Value + p.LPrice.Value) / 2; } pList.Add(p); if (p.Token == "|四川|Si+Cr≥72%,C≤0.1%|硅铬|") { var jsPrice = new Price { Token = "|江苏|Si+Cr≥72%,C≤0.1%|硅铬|", PriceUnit = p.PriceUnit, MarketCrmId = p.MarketCrmId, Date = p.Date, HPirce = p.HPirce, LPrice = p.LPrice, Delta = p.Delta, Spread = p.Spread }; var zjPrice = new Price { Token = "|浙江|Si+Cr≥72%,C≤0.1%|硅铬|", PriceUnit = p.PriceUnit, MarketCrmId = p.MarketCrmId, Date = p.Date, HPirce = p.HPirce, LPrice = p.LPrice, Delta = p.Delta, Spread = p.Spread }; pList.Add(jsPrice); pList.Add(zjPrice); } } foreach (Price price in pList) { PriceHelper.SavePrice(price); } } } finally { driver.Close(); driver.Quit(); } }
public static UserInfo Activate(Methods method, string igg_id, string promo) { ChromeDriverService service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = true; var options = new ChromeOptions(); options.AddArgument("--window-position=-32000,-32000,performance"); options.AddArgument("--headless"); IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(service, options); if (method == Methods.IGG_ID) { try { driver.Manage().Window.Minimize(); driver.Navigate().GoToUrl("https://lordsmobile.igg.com/gifts/"); By igg_idInputElement = By.XPath("//input[@class='myname']"); By codeInputElement = By.XPath("//input[@class='mycode']"); By claimButton = By.Id("btn_claim_1"); By doneMessageElement = By.Id("msg"); var igg = driver.FindElement(igg_idInputElement); var code = driver.FindElement(codeInputElement); var submit = driver.FindElement(claimButton); igg.Click(); igg.SendKeys(igg_id); code.Click(); code.SendKeys(promo); submit.Click(); var donemsg = driver.FindElement(doneMessageElement); if (donemsg.Text != "Время действия кода истекло.[base]" && donemsg.Text != "Этот код уже был активирован!" && donemsg.Text != "Вы ввели неверный код.[C02]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Sucess }); } else if (donemsg.Text == "Вы ввели неверный код.[C02]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Invalid_Code }); } else if (donemsg.Text == "Время действия кода истекло.[base]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Expired_Code }); } else if (donemsg.Text == "Этот код уже был активирован!") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Already_Activated }); } else { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.System_Error }); } } catch { return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.System_Error }); } } else if (method == Methods.Nickname) { try { driver.Manage().Window.Minimize(); driver.Navigate().GoToUrl("https://lordsmobile.igg.com/gifts/"); var methodfind = driver.FindElement(By.ClassName("tab-list-2")); methodfind.Click(); var nicknameInputfind = driver.FindElement(By.XPath("//input[@id='charname']")); nicknameInputfind.Click(); nicknameInputfind.SendKeys(igg_id); var code = driver.FindElement(By.XPath("//input[@id='cdkey_2']")); code.Click(); code.SendKeys(promo); var submit = driver.FindElement(By.Id("btn_claim_2")); submit.Click(); var donemsg = driver.FindElement(By.Id("msg")); if (donemsg.Text != "Игрок с таким именем не существует") { var extramsg = driver.FindElement(By.Id("extra_msg")); int king = int.Parse(Regex.Match(extramsg.Text, "Королевство: #(.*)").Groups[1].Value); string pow = (Regex.Match(extramsg.Text, "Сила: (.*)").Groups[1].Value); var submit2 = driver.FindElement(By.Id("btn_confirm")); submit2.Click(); var donemsg2 = driver.FindElement(By.Id("msg")); if (donemsg2.Text != "Время действия кода истекло.[base]" && donemsg2.Text != "Этот код уже был активирован!" && donemsg2.Text != "Вы ввели неверный код.[C02]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = king, Power = pow, Result = Results.Sucess }); } else if (donemsg2.Text == "Вы ввели неверный код.[C02]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Invalid_Code }); } else if (donemsg2.Text == "Время действия кода истекло.[base]") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Expired_Code }); } else if (donemsg2.Text == "Этот код уже был активирован!") { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = king, Power = pow, Result = Results.Already_Activated }); } else { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.System_Error }); } } else { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.Invalid_Nickname }); } } catch { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.System_Error }); } } else { driver.Close(); driver.Quit(); return(new UserInfo() { Kingdom = 0, Power = "0", Result = Results.System_Error }); } }
public void TestPlayAnEntireGame() { IWebDriver driver = null; try { driver = new ChromeDriver(@"C:\Repositories\ExamProject\Test\SeleniumFiles"); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10)); driver.Navigate().GoToUrl("localhost:13777"); driver.FindElement(By.Id("nameInput")).SendKeys("Jens"); driver.FindElement(By.Id("btnHard")).Click(); driver.FindElement(By.Id("startButton")).Click(); Assert.IsTrue(driver.Url.EndsWith("ingame.aspx")); int guess = 1; string outputMessage = string.Empty; while (outputMessage != "Success!") { driver.FindElement(By.Id("guessInput")).SendKeys("" + guess); driver.FindElement(By.Id("guessButton")).Click(); Thread.Sleep(70);//make sure JS is done, could probaly be lower outputMessage = driver.FindElement(By.ClassName("advice")).Text; guess++; } Thread.Sleep(500);//There is a delay before going to the next page Assert.AreEqual("YOU WON!", driver.FindElement(By.ClassName("headline")).Text); Thread.Sleep(5000);//Use this time to marvel at the High Score } finally { driver.Close(); driver.Quit(); } }