public async Task Initialize() { var keywords = config.GetSection("Parsing:Keywords").GetChildren().ToArray().Select(c => c.Value).ToArray(); string pattern = keywords .Aggregate("", (acc, next) => acc + $"({next})|"); pattern = pattern.Remove(pattern.Length - 1); Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); var options = new ChromeOptions(); options.AddArguments("headless"); options.AddArguments("--disable-dev-shm-usage"); options.AddArguments("--no-sandbox"); options.AddArguments("no-sandbox"); var path = Environment.GetEnvironmentVariable("CHROMEDRIVER_DIRECTORY"); ChromeDriverService chromeService; if (path != null) { chromeService = ChromeDriverService.CreateDefaultService(path); } else { chromeService = ChromeDriverService.CreateDefaultService(); } var webDriver = new ChromeDriver(chromeService, options, TimeSpan.FromMinutes(3)); webDriver.Manage().Timeouts().PageLoad.Add(TimeSpan.FromSeconds(30)); var promUaShop = await shopsRepository.GetShop("Prom"); var rozetkaShop = await shopsRepository.GetShop("Rozetka"); var epicentrShop = await shopsRepository.GetShop("Epicentr"); var promUaParser = new PromUaParser(config, promUaShop, regex, webDriver); var rozetkaParser = new RozetkaParser(config, rozetkaShop, regex, webDriver); var epicentrParser = new EpicentrParser(config, epicentrShop, regex, webDriver); parsers.Add(promUaParser); parsers.Add(rozetkaParser); parsers.Add(epicentrParser); }
public void ProductAreNotNull() { RozetkaParser rp = new RozetkaParser(); Assert.NotNull(rp.GetProductWithoutProxy("https://rozetka.com.ua/lenovo_tab4_za310144ua/p31091351/")); }