cefSharp获取百度搜索结果页面的源码
using CefSharp;
using CefSharp.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using HT=HtmlAgilityPack;
namespace CefSharpGetHtml
{ public partial class Form1 : Form
{
public string url { get; private set; }
public string path { get; private set; } ChromiumWebBrowser webBrowser = null;
public Form1(string[] args)
{
InitializeComponent(); url=args[0];
} private async void web_Load(object sender, FrameLoadEndEventArgs e)
{ if (webBrowser != null && webBrowser.IsBrowserInitialized)
{ //调试
// webBrowser.GetBrowser().ShowDevTools();
var task1 = await webBrowser.GetSourceAsync(); // var task = webBrowser.EvaluateScriptAsync(@"
// (function() {
// return document.getElementsByTagName('html')[0].innerHTML;
// })();"); // object result;
// task.ContinueWith(t =>
// {
// if (!t.IsFaulted)
// {
// var response = t.Result;
// result = response.Success ? (response.Result ?? "null") : response.Message;
// MessageBox.Show("得到的结果是: " + result);
// }
// else
// {
// MessageBox.Show("出错了");
// }
// }, TaskContinuationOptions.PreferFairness);
//}
//try
//{
// webBrowser.CloseDevTools();
// webBrowser.GetBrowser().CloseBrowser(true);
//}
//catch { } //try
//{
// if (webBrowser != null)
// {
// webBrowser.Dispose();
// Cef.Shutdown();
// }
//}
//catch { } this.webBrowser.FrameLoadEnd += Last_Load;
}
} private void Form1_Load(object sender, EventArgs e)
{
string path = url;
var setting = new CefSharp.CefSettings();
// setting.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1";
setting.UserAgent = " Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36";
CefSharp.Cef.Initialize(setting, true, false);
webBrowser = new ChromiumWebBrowser(path);
webBrowser.Dock = DockStyle.Fill;//填充方式
this.Controls.Add(webBrowser);
this.webBrowser.FrameLoadEnd += web_Load;
}
private async void Last_Load(object sender, FrameLoadEndEventArgs e)
{ if (webBrowser != null && webBrowser.IsBrowserInitialized)
{
var task1 = await webBrowser.GetSourceAsync();
webBrowser.RequestHandler = new myrequesthandler();
System.IO.File.WriteAllText(@"d:\\cefSharpWeiBo.html",task1,Encoding.UTF8);
try
{
// webBrowser.CloseDevTools();
webBrowser.GetBrowser().CloseBrowser(true);
}
catch { } try
{
if (webBrowser != null)
{
webBrowser.Dispose();
Cef.Shutdown();
}
}
catch { }
//HT.HtmlDocument doc = new HT.HtmlDocument();
// doc.LoadHtml(task1);
// var node= doc.DocumentNode.SelectSingleNode("//div");
// Console.WriteLine(node.InnerText);
}
} }
}
cefSharp获取百度搜索结果页面的源码的更多相关文章
- Powerbuilder编程技巧 如何获取网页的HTML源码
直接使用的三种方式 1. PB内部对象 Inet object 2. API 函数 3. Ole中的Microsfot Web 游览器对象 一.Inet object: 1.Inet objec ...
- jenkins获取git上的源码
jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...
- 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)
本文将介绍基于Senparc.Weixin微信开发框架来实现网页授权来获取用户基本信息.先生成包含授权及回调url信息的二维码:用户用微信扫描之后,被要求授权以获取Ta的用户基本信息:用户授权后,通过 ...
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
http://blog.csdn.net/yanzi1225627/article/details/22222735 如前文所示的TCP局域网传送东西,除了对传输层的TCP/UDP支持良好外,Andr ...
- EntityFrameWork实现部分字段获取和修改(含源码)
EntityFrameWork类库,是微软推出的ORM组件,它是基于Ado.Net的,个人感觉还是非常 好用的.以下介绍的2个功能点分别是部分字段更新和获取 解决部分字段Update.本方案采用仓储模 ...
- 获取linux工具命令源码
总结: 通过先通过which找到命令路径path rpm -qf path 获取源码名称n rpm -qi n 获取源码地址 [root@d mongoexport]# rpm --helpUs ...
- Android Studio使用Mob来获取手机验证码的源码
本文来自:CSDN 感谢作者:qq_35812301(其实就是我的号!) 查看原文:http://blog.csdn.net/qq_35812301/article/details/79150775 ...
- 【最新】破解微信小程序,获取微信小程序源码,破解微信wxapkg,仅需5秒
一个后端第一次接触iview,就简单写了个网站. 之前看到有人发解析wx小程序源码包的软件,但是因为微信的升级,之前的办法已经不行了.现在重新改了js文件,适配了最新的版本. 之前微信wxapkg包获 ...
- 获取微信小程序源码
https://blog.csdn.net/aaron9185/article/details/80576183 http://lrdcq.com/me/read.php/66.htm https:/ ...
随机推荐
- 第二个Sprint冲刺总结
第二个Sprint冲刺总结 ( 1)团队Github: https://github.com/ouqifeng/EasyGoOperation.git ( 2 ) 团队贡献分: 廖焯燊:22 何武鹏: ...
- Linux换源
Linux换源 前言 最近学校的ipv6坏了,导致从deepin本身获取的源速度极慢,笔者实在忍无可忍,随后在同学指导下换了清华大学ipv4的源 步骤 sudo gedit /etc/apt/sour ...
- GitHub和Microsoft TFS对比有什么优势
GitHub变得越来越流行,最近Github发布了Github for Windows则大大降低了学习成本和使用难度,它甚至优于TFS. 微软也开始逐渐从TFS向GitHub转移了. 不是 TFS 输 ...
- ELK 性能(3) — 在 Docker 上运行高性能容错的 Elasticsearch 集群
ELK 性能(3) - 在 Docker 上运行高性能容错的 Elasticsearch 集群 介绍 在 Docker 上运行高性能容错的 Elasticsearch 集群 内容 通常熟悉的开发流程是 ...
- 从零开始学Kotlin-控制语句(4)
从零开始学Kotlin基础篇系列文章 条件控制-if var a=10 var b=20 if(a>b) print(a) if(a>b){ print(a) }else{ print(b ...
- 中间件——dubbo
DUBBO初探-搭建DUBBO开发环境 2016年10月13日 12:27:49 NeroJings 阅读数:1697 标签: dubbo 更多 个人分类: dubbo 我所理解的DUBBO 相对 ...
- Easy-UI开发总结
Easy-UI开发总结 jQuery EasyUI 简介 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件. 什么是 jQuery EasyUI jQuery Ea ...
- Json序列化循环引用的问题
今天在发布接口的时候出突然出现了一个问题,报错代码为: 1 An exception has occurred while using the formatter 'JsonMediaTypeForm ...
- 一本通1644【例 4】佳佳的 Fibonacci
1644:[例 4]佳佳的 Fibonacci 时间限制: 1000 ms 内存限制: 524288 KB sol:搞了大概一个多小时什么结果都没,被迫去看题解,感觉自己菜到家了qaq ...
- 洛谷P13445 [USACO5.4]奶牛的电信Telecowmunication(网络流)
题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,...,a(c),且a1与a2相 ...