Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using OpenQA.Selenium;
- using OpenQA.Selenium.Chrome;
- using OpenQA.Selenium.Support.UI;
- using System;
- using System.IO;
- using System.Linq;
- using System.Reflection;
- using SeleniumExtras.WaitHelpers;
- [TestClass]
- public class UnitTest1
- {
- ChromeDriver driver;
- WebDriverWait webDriverWait;
- [TestInitialize]
- public void Startup()
- {
- var chromeOptions = new ChromeOptions();
- //chromeOptions.AddArguments("headless");
- chromeOptions.AddArguments("--proxy-server='direct://'");
- chromeOptions.AddArguments("--proxy-bypass-list=*");
- //chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true");
- //chromeOptions.AddArguments("--disable-extensions");
- chromeOptions.AddArguments("--start-maximized");
- var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
- ChromeDriverService chromeDriverService = ChromeDriverService.CreateDefaultService(path);
- driver = new ChromeDriver(chromeDriverService, chromeOptions);
- webDriverWait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
- }
- [TestCleanup]
- public void CleanUp()
- {
- driver.Quit();
- }
- [TestMethod]
- public void GetSproutsWeeklyAdDetails()
- {
- try
- { driver.Navigate().GoToUrl("http://www.sprouts.com/store/tx/plano/plano/");
- }
- catch (TimeoutException timeoutException)
- {
- driver.Navigate().Refresh();
- }
- webDriverWait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
- **var elements1 = webDriverWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
- By.XPath("//div[@class='cell small-6 divider']/button")));
- elements1.First().Click();**
- <= the system is unable to find the button 80% of the times
- webDriverWait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
- var elements2 = webDriverWait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
- By.XPath("//li[@class='cell-wrapper' and @ng-repeat='item in items track by $index']")));
- System.Diagnostics.Debug.WriteLine(elements2.Count);
- foreach (var element2 in elements2)
- {
- var element3 = element2.FindElement(By.XPath(".//span[@class='cell-title-text']"));
- var element4 = element2.FindElement(By.CssSelector(".price.sale.on-sale"));
- System.Diagnostics.Debug.WriteLine(element3?.Text +" : " +element4?.Text);
- }
- }
- }
Add Comment
Please, Sign In to add comment