我正在一个包含国家列表的网页上工作,我想计算并输出页面上显示的国家总数。我如何在Selenium c#中做到这一点
答案 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}");
}
}
}