用c#从IE中打开的网站下载html源代码为字符串

本文关键字:下载 网站 html 源代码 字符串 IE | 更新日期: 2023-09-27 18:16:57

我一直在寻找这个答案,但找不到它任何地方。这是我希望能够做到的:

我有一个表单应用程序,我有一个按钮,说"收集html代码"。当我按下这个按钮时,我想要c#从我目前正在使用的网站(使用IE)下载HTML源代码。我一直在使用这个代码:

WebClient web = new WebClient();
string html = web.DownloadString("www.example.com");

但是现在我不想在我的代码中指定URL !我不想在我的应用程序中使用web浏览器。有人有解决办法吗?谢谢!

用c#从IE中打开的网站下载html源代码为字符串

使用此代码,您可以在打开的选项卡中获得IE7及更高版本的URL:

SHDocVw.ShellWindows allBrowsers = new SHDocVw.ShellWindows();
foreach (SHDocVw.InternetExplorer ieInst in allBrowsers )
    {
        String url = ieInst.LocationURL;
        // do your stuff
    }

所以你可以访问url并使用WebClient类做你的事情。

您需要添加一个对COM组件Microsoft Internet Controls的引用

你是在谈论从IE窗口获取url吗?如果有,给你:

var urls = (new SHDocVw.ShellWindows()).Cast<SHDocVw.InternetExplorer>().
                Select(x => x.LocationURL).ToArray();

不要忘记在你的项目中添加COM引用"Microsoft Internet Controls"