在winform中爬取网页数据如何拿到选择框中的值

如题在winform中利用HttpWebRequest爬取网页数据如何拿到选择框中的值

img

还推荐另外一个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"));
        }
    }
}

输出结果:

img

HtmlAgilityPack.dll 可以对html进行解析 通过xpath 可以直接取得指定标签的值