【问题标题】:Retrieve information from Table cell从表格单元格中检索信息
【发布时间】:2014-01-09 18:33:43
【问题描述】:

我正在从我的 WPF 应用程序读取 WebBrowser 控件中加载的页面。

此页面中有一个数据表,我需要捕获它,并且我正在使用 MSHTML。

我可以检索表,我可以从表中检索行,但我不能从行中检索单元格。我总是收到NullReferenceException

这就是我现在拥有的:

foreach (var a in ((wbSocial.Document as HTMLDocument).getElementById("j_idt29:gridDadosTrabalhador").children as IHTMLElementCollection))
    foreach (var b in (a as HTMLTableSection).rows)
        if (((b as HTMLTableRow).cells as HTMLTableCell) == null || ((b as HTMLTableRow).cells as HTMLTableCell).nodeName.ToUpper() == "TH")
            continue;

当我调试HTMLTableRow 时,我看到HTMLTableRow 中有7 个元素,但如果我转换为HTMLTableCell,它会给我NullReferenceException

【问题讨论】:

标签: c# wpf visual-studio-2010 webbrowser-control mshtml


【解决方案1】:

好的,我自己解决了。我真的认为这与我的能力相差甚远。成功后,我真的觉得自己很愚蠢。

这就是我所做的:

 foreach (var a in ((wbSocial.Document as HTMLDocument).getElementById("j_idt29:gridDadosTrabalhador").children as IHTMLElementCollection))
                    foreach (var b in (a as HTMLTableSection).rows)
                    {
                        if ((b as HTMLTableRow).rowIndex == 0) { continue; }
                        else
                        {
                            foreach (var c in (b as HTMLTableRow).cells)

【讨论】:

  • 为了修复它,您需要更改哪些内容?
  • 抱歉这么久才回答。显然HTMLTableRow.cells 返回一个HTMLElementCollection 并且每个HTMLElement 都可以转换为HTMLTableCell。只是我缺乏关注。
猜你喜欢
  • 2021-04-09
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-09
  • 2012-02-23
  • 1970-01-01
相关资源
最近更新 更多