首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

加载Ajax后获取WebBrowser1 html内容(Vb2010)

加载Ajax后获取WebBrowser1 html内容(Vb2010)

答案:

在VB2010中,可以通过以下步骤来加载Ajax后获取WebBrowser1的HTML内容:

  1. 首先,在VB2010的窗体设计器中添加一个WebBrowser控件,命名为WebBrowser1。
  2. 在代码中,使用WebBrowser1的Navigate方法加载需要获取HTML内容的网页。例如,可以使用以下代码加载一个网页:
代码语言:vb
复制

WebBrowser1.Navigate("https://www.example.com")

代码语言:txt
复制
  1. 然后,使用WebBrowser1的DocumentCompleted事件来确保网页已经加载完成。在该事件中,可以使用WebBrowser1的Document属性来获取网页的HTML内容。例如,可以使用以下代码获取HTML内容:
代码语言:vb
复制

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

代码语言:txt
复制
   Dim htmlContent As String = WebBrowser1.Document.Body.InnerHtml
代码语言:txt
复制
   ' 在这里可以对获取到的HTML内容进行处理

End Sub

代码语言:txt
复制

上述代码中,将获取到的HTML内容存储在htmlContent变量中,你可以根据需要对其进行进一步处理。

需要注意的是,由于Ajax是一种异步的网页加载技术,WebBrowser控件默认情况下不会等待Ajax请求完成后再触发DocumentCompleted事件。因此,如果需要获取Ajax加载后的HTML内容,可以考虑使用WebBrowser控件的ReadyState属性来判断网页是否加载完成。例如,可以使用以下代码:

代码语言:vb
复制
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
        Dim htmlContent As String = WebBrowser1.Document.Body.InnerHtml
        ' 在这里可以对获取到的HTML内容进行处理
    End If
End Sub

这样,当网页加载完成且Ajax请求也完成后,才会触发DocumentCompleted事件,并且可以获取到完整的HTML内容。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):提供稳定可靠的云服务器实例,支持多种操作系统和应用场景。详情请参考:腾讯云服务器
  • 腾讯云云数据库MySQL版:提供高性能、可扩展的云数据库服务,适用于各种规模的应用。详情请参考:腾讯云云数据库MySQL版
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云存储服务,适用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

原来webBrowser还可以这样用

最近在写一个网络爬虫,本来都基本完成了90%。但后来发现对象网站通过ajax来进行数据更新,当然其实这个我也早估到,因为这样就不用不停的刷页面;但估不到的竟然用SessionID进行验证并进行数据交换。即只有登录成功的SessionID才可以进行数据获取,更奇特的是他是xml,这个也算了并且xml不是直接全部数据显示出来,有时候甚至没有一点,,哎,搞了一大轮想到的办法是建一个Sqlite数据库和读XML的控件,进行读取。。就这样搞了一半,突然想到一个webBrowser控件,这个控件先模拟登陆然后再在webBrowser中读取相关的html,而本来计划是监控webBrowser获取其连接,但看了一下这样也比较复杂,主要是要读xml然后写数据库,这样费力。。后来,想到既然能读出HTML那么我们可以把HTML保存为HTML,让接口读就是了。。预是就开始了这篇。

03
  • .NET实现之(WebBrowser数据采集—基础篇)

    本人写博客总是喜欢来一段开场白,其实细心看我文章的朋友能明白我的意思,本人就是想让更多的人能理解我写文章的用意,力求用通俗易懂的方式展现复杂抽象的概念,写文章的朋友尤其是用心写文章的朋友,其实真正的目的不是写文章而是去帮助大家学习技术,在.NET领域里有各种各样的技术,一个人的精力有限,在讲解某一个技术要点的时候难免疏忽大意讲错,这很正常,我有时候在看一些前辈的文章时,总能发现前辈多么希望将自己毕生的经验、技术传递给每一个想学的人,他们是多么让我们敬佩,让我们值得尊重,我还是那句话,技术不是用来炫耀的,技术是我们生存的本领,更是我们兴趣的展现,做技术的朋友都是比较深沉、细心、敏锐的人,他们那不修边幅、胡须浓厚、满脸沧桑的背后都是刻苦专研技术细节所留下来的“伤疤”,我们看技术文章的时候要抱有一种谦虚、尊重和感谢的心态去阅读,尽量能在文章中学到东西,这也是每一个写文章的人的最终目的;我再此感谢那些无私奉献的前辈,你们辛苦了,你们已经到达了一种境界,一种不是最求技术的境界而是最求人生重大价值的境界,在你们那字里行间,我能感受到你们在写文章时的心情,也许你们在那多么恶劣的环境下抒写,有蚊虫的叮咬、蚂蚁的瘙痒、家人的不理解、小孩的抱怨、老婆的抱怨等等心里压力都是值得我们每一位写博客的朋友去虚心学习的;开场白就不在继续唠叨下去了,我们进入主题,今天我要讲的内容是通过一个简单的.NETWinform控件去抓取页面上的HTML代码中的数据,这种需求其实也不少,本人有幸在工作当中曾经开发过自动数据采集程序,大概的实现目标是这样的:要实现对HTML代码进行分析,然后抓取有规律的并且正确的数据,在此期间可能会碰到页面的跳转、页面的布局IFrame、异步AJAX等等不确定因素,也有博友问过我怎么实现的问题,可是这些东西三言两语讲不清楚,所以拖了很久,再次先说声不好意思,本人打算写出来让需要学习的人都能得到参考资料; 我们先来分析一下大概实现的思路,首先我们要明白,实现抓取页面上的数据其实就是将HTML代码拿过来进行分析,然后读取里面的数据,做过Winform程序的朋友可能很容易理解,在我们Winform控件库里有一个叫做WebBrowser的控件,其实这个控件是在浏览器的COM组件上进行了一层封装,让我们不需要去关注COM与.NET之间的互操作技术问题,有兴趣的朋友可以去研究研究,怎么注入HTMLDom对象数据;通过WebBrowser控件打开页面,我们就可以通过获取WebBrowser对象的Document属性拿到页面上的所有HTML代码,我们在借助于第三方的HTML代码分析组件进行分析,我推荐HtmlAgilityPack.dll给大家使用,使用方式跟XMLDom差不多;我们用一副图来整体的分析一下相关技术;[王清培版权所有,转载请给出署名]

    02

    .NET实现之(WebBrowser数据采集—终结篇)

    我们继续上一篇".NET实现之(WebBrowser数据采集-基础篇)",由于时间关系这篇文未能及时编写;上一篇文章发布后,得来了部分博友的反对意见,觉得这样的文章没有意义,WebBrowser采集数据效率低下用WebRequest效率就能提高了,本人不理解,为什么同样是HTTP协议进行数据采集,效率能提高多少,在采集过程中同样要经历种种的高层协议向底层协议转换等过程,我个人感觉WebRequest是实现更多的扩展性,本人的WebBrowser数据采集,并不是谈抓取数据的效率,重点是讲解WebBrowser控件的原理,能用WebBrowser与HTML网页进行很方便的集成,本人的下一篇文章".NET实现之(WebBrowser数据采集-续)",就将用WebBrowser进行与HTML网页进行混合使用,在HTML的对象中我要在我的WebBrowser控件中通过读取数据库,将Winform的控件在HTML中进行呈现,然后将我们的Winform中的数据动态的填入HTML网页中;这样的人性化、方便性、模拟性我想是WebRequest所不能取代的,我们大部分的软件是要提供给用户使用的,有一个友好的用户界面是必须的;[王清培版权所有,转载请给出署名]

    02

    使用wsgiref库diy简单web架构

    CGI(Common Gateway Interface)通用网关接口,即接口协议,前端向服务器发送一个URL(携带请求类型、参数、cookie等信息)请求,服务器把这个请求的各种参数写进进程的环境变量,比如 REQUEST_METHOD,PATH_INFO之类的,然后开启 cgi模块以后,将其发送给CGI程序,CGI程序(可以由各种语言编写,比如C、C ++、VB 和Delphi 等)从环境变量中解析出各种参数,然后向标准输出输出内容(比如cout了一段HTML代码),这些内容没有被打印到控制台上,而是最终响应给了你的浏览器,渲染出了网页。每一次向CGI发送请求,都会生成一个CGI进程,这就是所谓的fork-and-exec模式,这也通常是导致并发瓶颈的症结,反向代理加上大型的的分布式系统可以一定程度上减轻这些压力。

    04
    领券