如题在winform中利用HttpWebRequest爬取网页数据如何拿到选择框中的值
还推荐另外一个HTML解析组件AngleSharp
,示例如下:
using AngleSharp;
using AngleSharp.Dom;
using System;
using System.Linq;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
DoWork();
Console.ReadKey();
}
static async void DoWork()
{
var html = "<select id='cjr_xb1' class='w35' name='cjr_xb'>" +
"<option value='M' selected=''>男</option>" +
"<option value='F'>女</option>" +
"</select>";
var config = Configuration.Default;
var context = BrowsingContext.New(config);
var document = await context.OpenAsync(req => req.Content(html));
var el = document.QuerySelectorAll("#cjr_xb1 option").FirstOrDefault(x => x.HasAttribute("selected"));
Console.WriteLine(el.Text());
Console.WriteLine(el.GetAttribute("value"));
}
}
}
输出结果:
HtmlAgilityPack.dll 可以对html进行解析 通过xpath 可以直接取得指定标签的值