我正在从我的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
。
答案 0 :(得分:2)
好的,我自己设法解决了。我真的认为这远非我的能力。使它工作后,我真的觉得自己很蠢。
这就是我所做的:
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)