我正在制作一个类似于搜索引擎的应用程序(控制台应用程序)。该应用程序要求用户输入,然后谷歌搜索输入并收集Google结果第一页的网址。然后,它询问用户他想要打开哪个链接,例如:“我应该打开哪个链接?”并且用户应该键入“First”,“Second”,“Third”等。我已经设法到达我收集所有URL的位置,但我不知道如何编写我选择的部分我希望它打开哪个网址。
以下是代码:
Console.WriteLine("Search for:"); //User Input
string command = Console.ReadLine();
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.google.com"); //Opens Firefox, Goes to Google.
driver.Manage().Window.Maximize();
IWebElement searchInput = driver.FindElement(By.Id("lst-ib"));
searchInput.SendKeys(command); //Types User Input in "Search"
searchInput.SendKeys(Keys.Enter); //Hits "Enter"
//Gets Urls
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(1));
By linkLocator = By.CssSelector("cite._Rm");
wait.Until(ExpectedConditions.ElementToBeClickable(linkLocator));
IReadOnlyCollection<IWebElement> links = driver.FindElements(linkLocator);
foreach (IWebElement link in links)
{
Console.WriteLine(link.Text);
}