private async Task <IEnumerable <Product> > GetPage(string url) { var source = await url.GetStringAsync(); var document = await HtmlHelpers.GetDocumentFromSource(source); var products = document.QuerySelectorAll("product-qb-component") .Select(p => new PradaProduct(p)) .Select(p => p.AsEntity(this)) .ToList(); return(products); }
public async override Task <ProductMetadata> GetProductMetadataFromUrl(ChromeDriver driver, Product product) { driver.Navigate().GoToUrl(product.Link); var json = driver.ExecuteScript("return JSON.stringify(window.state.pdp.detailsState.response.body.products)").ToString(); var images = coach_bags_selenium.Outnet.OutnetProduct.FromJson(json) .SelectMany(p => p.ToEntity(this).Images) .ToArray(); var html = await HtmlHelpers.GetDocumentFromSource(driver.PageSource); var tags = html.QuerySelectorAll("#TECHNICAL_DESCRIPTION p") .Select(p => p.TextContent.Trim()) .ToArray(); return(new ProductMetadata { Images = images, Tags = tags, }); }