c# - C# 获取 HTML 元素

标签 c# webbrowser-control

我想知道如何将“a”元素检索到 div 中。

我有一个像这样的 HTML:

<div id="content">
<div class="divSearchForm">
    <table>
        <tbody>
            <tr id="tr1">
                <td>
                    <img class="SearchImage">
                        List of systems
                </td>
                <td>
                    <table width="100%" class="Result">
                        <tbody>
                            <tr>
                                <td>
                                    <a href="test">K</a>
                                </td>
                            </tr>                            
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
</div>

我想知道如何获取“K”链接。

现在,我有:

webBrowser1.Document.GetElementById("content").GetElementsByTagName("a");

但看起来好像什么也没发生。

你有什么想法吗?谢谢

最佳答案

您很可能在文档完全加载之前访问它。

WebBrowser 控件的 DocumentCompleted 事件添加监听器

webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;

并尝试在那里访问您的元素:

protected void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    HtmlElement el = webBrowser1.Document.GetElementById("content").GetElementsByTagName("a")[0];
    String anchorText = el.InnerText; // will contain "K"
    String url = el.GetAttribute("href"); // will contain "test"
}

关于c# - C# 获取 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278818/

相关文章:

c# - ASP.NET Core - 将 IEnumerable<T> 绑定(bind)到 POST 上的 ViewModel 字段

c# - 调用控件与调用表单

c# - 如何阻止网络浏览器上的图像

c# - Linq 中的Where 子句和比较字符串

c# - DllImport - 尝试加载格式不正确的程序

c# - 方法的最大参数数量是多少(WebApi?)

javascript - C# Web 浏览器支持 javascript 文件 API

javascript - 如何在控制台中暂停 Instagram 故事切换,以便我可以手动下载图像或视频

c# - 如何在 WinForms 应用程序中测试 Web 浏览器控件的 Web UI?

jquery - 如何使用 InvokeScript() 从 .NET WebBrowser 控件调用 jQuery 函数?