public List<Property> Properties(string query) { var results = new List<Property>(); try { var driver = new PhantomJSDriver(); driver.Navigate().GoToUrl(query); var body = driver.FindElementByTagName("body"); Console.Write(body.Text); Thread.Sleep(2000); var articles = driver.FindElementsByTagName("article"); foreach (var webElement in articles) { try { var newProperty = new Property { Thumbnail = webElement.FindElement(By.ClassName("photo")).GetAttribute("data-photourl"), Link = webElement.FindElement(By.ClassName("hdp-link")).GetAttribute("href") }; var fullAddress = webElement.FindElement(By.ClassName("image-loaded")).GetAttribute("alt"); var split = fullAddress.Split(','); var splitCount = split.Count(); var city = split[splitCount - 2]; var state = split.Last(); newProperty.Address = split[0]; newProperty.City = city; newProperty.State = state; results.Add(newProperty); } catch (Exception ex) { Console.WriteLine("Error searching Zillow. " + ex.ToString()); } } driver.Quit(); return results.ToList(); } catch (Exception ex) { Console.WriteLine("Error searching Zillow. " + ex.ToString()); } return null; }
public void WithoutPassenger() { using (var webdriver = new PhantomJSDriver()) { webdriver.Navigate().GoToUrl("http://www.amazon.co.uk"); var myElement = webdriver.FindElementById("twotabsearchtextbox"); myElement.Click(); myElement.SendKeys("Game of thrones"); var goButton = webdriver.FindElementByClassName("nav-searchbar"); goButton.Submit(); var allH2s = webdriver.FindElementsByTagName("h2"); var oneWithGameOfThrones = allH2s.Where(x => x.Text == "Game of Thrones - Season 4"); Assert.That(oneWithGameOfThrones, Is.Not.Null); } }