Selenium 找不到 table

Selenium doesn't find a table

我正在尝试阅读此网站https://www.cmegroup.com/clearing/operations-and-deliveries/accepted-trade-types/block-data.html

在该网站中,向下滚动有 table:

我正在尝试用 Selenium 阅读它:

        // Load website
        IWebDriver driver = new ChromeDriver();
        driver.Navigate().GoToUrl("https://www.cmegroup.com/clearing/operations-and-deliveries/accepted-trade-types/block-data.html");            
        Thread.Sleep(1000);

        // Get table
        IWebElement table = driver.FindElement(By.XPath("//*[@id='main-content']/div/div[4]/div/div[2]"));
        //driver.FindElement(By.CssSelector(".block-trades-table-wrapper'"));

        // Loop table elements
        IList<IWebElement> tableRow = table.FindElements(By.TagName("tr"));
        IList<IWebElement> rowTD;
        foreach (IWebElement row in tableRow)
        {
            rowTD = row.FindElements(By.TagName("td"));
        }

        Console.WriteLine("Test!");

经过测试,我发现如果我输入错误的 Xpath,我会得到一个错误:

这里我没有收到任何错误,所以 Xpath 应该是正确的。但是我没有任何可读的东西。

我如何阅读 table?

@Adrian Hernando Solanas

对于前几次Iteration,您不会找到任何记录,因为如果您仔细看,前2 tr 没有任何 td ,因为它们在thead 但是当你继续迭代时,当代码迭代进入 tbody 时,你将开始获取 td

的文本

此外,将您的代码添加到 try - catch 块中,以便在任何迭代中不存在特定元素时,您可以根据需要处理这种情况。