Skip to main content
 首页 » 编程设计

c#之如何在 webbrowser 控件中获取链接样式表的地址

2024年02月25日32bonelee

我在 C# winform 中有一个 webbrowser 控件,它加载以下文本:

<head> 
 
<link rel="stylesheet" type="text/css" href="d:/git/ArticleScraper/reports/default.css"> 
</head> 

我可以找到 css 的地址 (d:/git/ArticleScraper/reports/default.css) 并将其加载到文本框编辑器中吗?它可以是具有绝对或相对地址的本地或在线 css 文件。

我没有在 webbrowser 控件中找到任何相关的属性或方法。

请您参考如下方法:

WebBrowser 控件有一个事件 DocumentComplete . 一旦您的文档/文件加载完成,它就会被触发。

首先,注册参加事件:

webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.WebBrowser1_DocumentCompleted); 

在事件回调中,搜索“LINK”元素标签。

    private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
        var browser = sender as WebBrowser; 
        var document = browser.Document; 
 
        foreach(HtmlElement link in document.GetElementsByTagName("LINK")) 
        { 
            // this is your link: 
            link.GetAttribute("href") 
        } 
    }