如何使用C#中的Selenium chrome驱动程序从网页打印URL列表到控制台?

如何使用C#中的Selenium chrome驱动程序从网页打印URL列表到控制台?,c#,selenium,selenium-webdriver,selenium-chromedriver,C#,Selenium,Selenium Webdriver,Selenium Chromedriver,重要的是将网站上特定位置的所有URL打印到控制台。 这可以给我所有链接的文本,但不是URL。请帮忙。对不起,我对编码很陌生。我被告知使用不同的web驱动程序,但对于我当前的项目,我希望留在Selenium using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Support; using System; using System.Collections.Generic; using System.IO

重要的是将网站上特定位置的所有URL打印到控制台。 这可以给我所有链接的文本,但不是URL。请帮忙。对不起,我对编码很陌生。我被告知使用不同的web驱动程序,但对于我当前的项目,我希望留在Selenium

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using OpenQA.Selenium.Support.UI;

namespace Test_Scraper_1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Initialize chrome driver
            using (var driver = new ChromeDriver())
            {
                driver.Navigate().GoToUrl("https://www.tfrrs.org/");

                //find elements
                var Search_Field = driver.FindElementByXPath(@"/html/body/div[3]/div/div/div[4]/div/div[2]/form/div[1]/input");
                var Search_Button = driver.FindElementByXPath(@"/html/body/div[3]/div/div/div[4]/div/div[2]/form/div[4]/button");

                var Count = 1;

                Search_Field.SendKeys("Ashley Smith");
                Search_Button.Click();

                var titles = driver.FindElementsByClassName("allRows");
                foreach (var allRows in titles)
                {
                    Console.WriteLine(allRows.Text + Count++);
                }

                Console.ReadLine();
            }
        }
    }
}

在foreach循环中使用
allRows.getAttribute(“href”)
而不是
allRows.Text
,以获取URL

您的
allRows
tr
元素,如下所示

<tr class="filtered allRows ">
    <td id="col0">
        <a href="//www.tfrrs.org/athletes/3721395/Youngstown_St/Ashley__Smith_.html">Ashley  Smith </a>
    </td>

    <td id="col1">
        <a href="//www.tfrrs.org/teams/xc/OH_college_f_Youngstown_St.html">Youngstown St. (F)</a>
    </td>
</tr>

我要改成这样吗。。。Console.WriteLine(allRows.GetAttribute(“href”);这不会将任何内容打印到控制台:(对不起,我不明白。当我添加变量时,它说“allRows”在代码中不存在。我仍然无法将所有URL的列表打印到控制台…@StevePaternostro是否已将其添加到foreach循环中?变量allRows存在于其中。
var column0 = allRows.FindElement(By.Id("col0"));
var aElement = column0.FindElement(By.TagName("a"));
var link = aElement.GetAttribute("href");
namespace Test_Scraper_1
{
class Program
{
    static void Main(string[] args)
    {
        //Initialize chrome driver
        using (var driver = new ChromeDriver())
        {
            driver.Navigate().GoToUrl("https://www.tfrrs.org/");

            //find elements
            var Search_Field = driver.FindElementByXPath(@"/html/body/div[3]/div/div/div[4]/div/div[2]/form/div[1]/input");
            var Search_Button = driver.FindElementByXPath(@"/html/body/div[3]/div/div/div[4]/div/div[2]/form/div[4]/button");

            var Count = 1;
            //Navigate to target page
            Search_Field.SendKeys("Ashley Smith");
            Search_Button.Click();

            var titles =driver.FindElementsByClassName("allRows");   // driver.FindElementByLinkText("Ashley Smith");


            foreach (var title in titles)
            {
                var Link_Name_TFRRS = title.FindElement(By.TagName("a")).GetAttribute("href"); ;    

                Console.WriteLine(Link_Name_TFRRS);
            }


            Console.ReadLine();
        }
    }
}
}