C# 如何使多个列表的每个元素在DataGrid上显示在一行中

C# 如何使多个列表的每个元素在DataGrid上显示在一行中,c#,selenium,uwp-xaml,C#,Selenium,Uwp Xaml,我有一个网络爬虫,可以从航空公司网站获取数据 我希望程序在各自的行中显示每个元素 foreach (string url in urlList) { driver.Navigate().GoToUrl(url); try { var DepAirport = driver.FindElementsByXPath(

我有一个网络爬虫,可以从航空公司网站获取数据

我希望程序在各自的行中显示每个元素

            foreach (string url in urlList)
            {
                driver.Navigate().GoToUrl(url);

                try
                {
                    var DepAirport = driver.FindElementsByXPath("//td[@class='depdest']/div[@class='content']").ToList();
                    var ArrAirport = driver.FindElementsByXPath("//td[@class='arrdest']/div[@class='content']").ToList();
                    var DepTime = driver.FindElementsByXPath("//td[@class='depdest']/div[@class='content emphasize']").ToList();
                    var ArrTime = driver.FindElementsByXPath("//td[@class='arrdest']/div[@class='content emphasize']").ToList();
                    var Price = driver.FindElementsByXPath("//td[@class='fareselect standardlowfare']/div[@class='content']/label[@class='label seatsokfare']").ToList();

                    foreach(var da in DepAirport)
                    {                 
                        _entries.Add(new EntryModel { DepartureAirport = da.Text });
                    }
                    foreach (var aa in ArrAirport)
                    {
                        _entries.Add(new EntryModel { ArrivalAirport = aa.Text });
                    }
                    foreach (var dt in DepTime)
                    {
                        _entries.Add(new EntryModel { DepartureTime = dt.Text });
                    }
                    foreach (var at in ArrTime)
                    {
                        _entries.Add(new EntryModel { ArrivalTime = at.Text });
                    }
                    foreach (var p in Price)
                    {
                        _entries.Add(new EntryModel { Price = p.Text });
                    }
                }
                catch (Exception e)
                {

                }
它收集数据并将其显示在网格上,但结果如下所示:


您需要设置所有
EntryModel
属性。像这样:

for (var i = 0; i < DepAirport.Count; i++)
{
    _entries.Add(new EntryModel
    {
        DepartureAirport = DepAirport[i].Text,
        ArrivalAirport = ArrAirport[i].Text,
        DepartureTime = DepTime[i].Text,
        ArrivalTime = ArrTime[i].Text,
        Price = Price[i].Text
    });
}
for(变量i=0;i

问题是,每次调用
\u entries.Add(..
都会创建一个新条目,从而创建一个新行。但是,每行只有一个属性集。

@NicoZhu MSFT.好的,那么还有一个问题,如果DepAirport.Count不止一个,比如说2。当循环再次运行时,它会抛出一个异常“system.argumentoutofrangeexception”。如果您有其他问题,请随时在so中发布新线程。