C# .NET WebBrowser.Document GetElementById获取不到指定ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# .NET WebBrowser.Document GetElementById获取不到指定ID相关的知识,希望对你有一定的参考价值。

1、首先我是 WebBrowser 默认加载了一个页面比如百度
然后点击一个按钮:
var htmlDocument = webBrowser.Document;
if (htmlDocument == null) return null;
htmlDocument = htmlDocument.OpenNew(true);
htmlDocument.Write(html);
var newHtmlDocument = webBrowser.Document;
if (newHtmlDocument == null) return null;
最后用:
var speclist10 = newHtmlDocument.GetElementById("speclist10");
获取不到Id为 speclist10 的HtmlElement
我可以肯定 html 中包含 Id为speclist10的div

在webBrowser的DocumentCompleted事件中写。
获取不到的核心原因是页面还未加载完。违反了页面加载生命周期原理。
参考技术A javascript Document
function show(str)

var str1="td"+str;
var str="show"+str;
for (var i=1; i<18; i++)

var obj = document.getElementById('show' + i.toString());
if (obj) obj.style.display = 'none';

document.getElementById(str).style.display="block";
追问

不是js,是C#的WebBrowser

c#教程 -- .Net与C#简介

(1).Net

.Net指.Net平台或者是.Net Framework框架。

如果你把.Net平台想象成一个厨房,那么.Net Framework框架就是其中的柴米油盐酱醋茶。

如果你把.Net平台想象成中国移动,那么.Net Framework框架就是中国移动的信号塔。

所以说,.Net Framework是.Net不可缺少的一部分,它提供了一个稳定的运行环境来保证我们基于.Net平台开发

的各种应用正常运转。

(2).Net Framework框架

.Net Framework框架包含CLR(公共语言运行时)和.Net类库两部分。

(3)C#

一种编程语言,可以基于.Net平台的应用(对比:Java既是一种平台又是一种编程语言)

(4).Net可以做什么

桌面应用程序(Winform),Internet应用程序(ASP.net)和手机开发(WP8,Unity3D)

(5).Net两种交互模式

C/S(Client/Server),B/S(Browser/Server)。

(6)C#的IDE(开发工具): Visual Studio

技术分享

 技术分享

技术分享

技术分享

(7)解决方案、项目与类之间的关系:

解决方案:公司

项目:部门

类:员工

(8)两个重要的文件

.sln:解决方案文件,里面包含着整个解决方案的信息,可以双击运行。
.csproj:项目文件,里面包含着这个项目的信息,可以双击运行。

以上是关于C# .NET WebBrowser.Document GetElementById获取不到指定ID的主要内容,如果未能解决你的问题,请参考以下文章

C#有几个版本?C#和.net版本有什么区别?C#和.net对应版本?

[C#][ASP.NET] 网站同时使用 C# 与 VB.NET

C#视频C#与NET

C#程序设计-.NET与C#基础

C# 和 .NET 有啥区别?

C# C# 11 ( .Net 7.0)Visual Studio 2022