cefsharp(webkit内核)浏览器替代webbrowser用来采集页面数据。

需要在页面form加载完毕,用异步方式自动获取sourcecode。

由于国内cefsharp的资料相对比较少,在google英文资料后得到方法,这里做个笔记备忘:

IWebBrowser.cs 这个接口文件里面
36行: event EventHandler<FrameLoadEndEventArgs> FrameLoadEnd; 页面加载完的“事件”。

262行:GetSourceAsync() 会返回string 结果,可以用来返回html代码

 

只需要页面一加载完毕就GetSourceAsync() ,加了个Async后缀(异步的意思),之前的名字叫做GetSource()。

以前的GetSource():

下载了最新的cefsharp就不用纠结为何cefsharp找不到GetSource()方法了,现在.net 4  和.net4.5作者都改成GetSourceAsync() 。

具体看下面截图,是因为有人提出来过这个建议,所以作者就改了:

具体等页面加载完毕,自动获得页面source code的代码如下:

            var task1 = browser.GetSourceAsync();
            task1.Wait();
            string html = task1.Result;

以上例子是在CefSharp.MinimalExample完成。更多的用法,可以参考:https://github.com/cefsharp/CefSharp/issues/646

cefsharp作为采集工具(学习笔记)的更多相关文章

  1. PowerDesigner16工具学习笔记-工具介绍

    1.初始界面 1.1 .浏览窗口:本地(Local)浏览窗口.知识库(Repository)浏览窗口 Local:用于显示本地模型 Repository:用于显示知识库模型 1.2 .输出窗口:用于显 ...

  2. rsync同步工具学习笔记

    rsync同步工具 1.rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows等多种操作 ...

  3. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  4. PowerDesigner16工具学习笔记-建立BPM

    根据不同用途,BPM分为分析性(Analysis).执行型(Executable)和协作型(Collaborative) BPM的类型 业务流程语言 描述  分析型  Analysis  提供流程层次 ...

  5. Yum —— CentOS 下包管理工具 学习笔记

    环境:CentOS 7 (阿里云服务器) 一.linux 发行版下的包管理阵营 包管理系统 除了方便你安装和管理包之外,还能帮你解决依赖问题. 下面就介绍2个最主要的: 1.Debian 系 - dp ...

  6. xcode 工具学习笔记

    1. 快速打开辅助界面   快捷键:使用Option + 单击文件   2. 辅助编辑器更多打开方式   快捷键: Option+shift +单击文件   3. tab页面快捷键   快捷键: Co ...

  7. PowerDesigner16工具学习笔记-建立CDM

    1.基本术语 1.1.实体和属性 实体(entity):指现实世界中客观存在,并可相互区别的事物或者事件. 属性(attribute):一组用来描述实体特征的属性. 实体集(entity set):具 ...

  8. gensim工具[学习笔记]

    平台信息:PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 一.将copy_train.csv文件的内容进行分 ...

  9. ArcGIS Server命令行工具学习笔记

    备份命令 backup.py 参数: -u 管理员账号 -p 密码 -s 站点URL -f 备份文件的存储目录路径 -h 显示帮助 还原命令 restore.py 参数: -u 管理员账号 -p 密码 ...

随机推荐

  1. random模块/string模块

    一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...

  2. scss-@if指令

    @if指令接受表达式和使用嵌套样式,无论表达式的结果只不过是false或null. 语法: @if expression { //CSS codes are written here } scss实例 ...

  3. ES6新增的math,Number方法

    ES6新增的math,Number方法,下面总结了一些我觉得有用的 Nunber.isInteger()判断是否为整数,需要注意的是1,和1.0都会被认为是整数 console.log(Number. ...

  4. 002Angular2工程目录解构

    |--my-app 工程名 |--e2e 端到端测试 |--node_modules package.json列出的第三方模块放在此处 |--src |--app |--app.component.c ...

  5. Eclipse SWT

    Reference: http://www.eclipse.org/swt/ http://www.functionx.com/win32/Lesson01.htm http://www.win32d ...

  6. Write a makefile to compile *.c and link to executable target

    https://wenku.baidu.com/view/b1ec946027d3240c8447ef9a.html GNU+make中文手册V3.8 <=========From Docs== ...

  7. oracle 父子级 查询

    SELECT * FROM T_ASSETS_TYPE t CONNECT by t.UNIQUE_CODE = prior t.SUP_ASSETS_CODE start with t.UNIQUE ...

  8. 实验:将系统进程映射移到 Python 字典中

    参考官方文档,测试下列代码,把oracle的进程映射到python的字典中: [oracle@ycr python]$ more pro_get.py import reimport subproce ...

  9. 初见git和github

    一.我的github helloworld程序的地址:https://github.com/wyf1213/wyf-project1 二.git/github的相关介绍资料 1.github是什么   ...

  10. 【BZOJ2510】弱题

    题目大意 有\(M\)个球,一开始每个球均有一个初始标号,标号范围为\(1-N\)且为整数,标号为i的球有\(a_i\)个,并保证\(\sum a_i=M\). 每次操作等概率取出一个球(即取出每个球 ...