如何计算网页上的文本集

时间:2019-02-28 23:43:39

标签: c# selenium-webdriver

我正在一个包含国家列表的网页上工作,我想计算并输出页面上显示的国家总数。我如何在Selenium c#中做到这一点

1 个答案:

答案 0 :(得分:0)

    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;

    IWebDriver driver = new ChromeDriver();
    driver.Url = ("https://gist.github.com/kalinchernev/486393efcca01623b18d");
    int contagem = driver.FindElements(By.ClassName("blob-num")).Count();

    Console.WriteLine($"{contagem}");

另一种解决方案:

您还可以使用WebBrowser库中的System.Net来做到这一点,保持这种状态。

    private void GetCountries()
    {
        WebBrowser browser = new WebBrowser();
        browser.Navigate("https://gist.github.com/kalinchernev/486393efcca01623b18d");
        browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
    }


    int conta;  //number of countries
    public void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        WebBrowser browser = sender as WebBrowser;
        var links = browser.Document.GetElementsByTagName("tr");

        foreach (HtmlElement link in links)
        {
            if (link.InnerHtml.Contains("blob-num"))
            {
                string countrie = link.InnerText;
                listbox.Items.Add($"{++conta} / {countrie}");
            }
        }
    }