有什么方法可以从 ac# 应用程序获取浏览器中打开网页的元素或控件的内容?
我试图让窗口前,但我不知道如何使用它与它进行任何形式的通信。我也试过这段代码:
using (var client = new WebClient())
{
var contents = client.DownloadString("http://www.google.com");
Console.WriteLine(contents);
}
这段代码给了我很多我无法使用的数据。
您可以使用 HTML 解析器,例如HTML Agility Pack
从下载的 HTML 中提取您感兴趣的信息:
using (var client = new WebClient())
{
// Download the HTML
string html = client.DownloadString("http://www.google.com");
// Now feed it to HTML Agility Pack:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
// Now you could query the DOM. For example you could extract
// all href attributes from all anchors:
foreach(HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
HtmlAttribute href = link.Attributes["href"];
if (href != null)
{
Console.WriteLine(href.Value);
}
}
}