Пример #1
0
        public List <string> GetWikiResults(int noOfResults = 1)
        {
            var wikiLinks = this.driver.FindElements(By.XPath($"//a[contains(@href, '.wikipedia.org/wiki/')]"));

            if (wikiLinks != null && wikiLinks.Any())
            {
                List <Tuple <string, double> > filtered = new List <Tuple <string, double> >();

                wikiLinks.ToList().ForEach(link =>
                {
                    var href = link.GetAttribute("href");
                    if (!string.IsNullOrEmpty(href))
                    {
                        filtered.Add(new Tuple <string, double>(href, AutomationUtility.CalculateSimilarity(href, this.searchKeyword)));
                    }
                });

                if (filtered.Any())
                {
                    filtered = filtered.OrderByDescending(f => f.Item2).ToList();
                    return(filtered.Take(noOfResults).Select(f => f.Item1).ToList());
                }
            }

            return(null);
        }