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:/ ...
随机推荐
- 四则运算安卓版ver.mk2
做了一点微小的变动....非常微小...不过美观点了就是...那就是----加背景! 变更后的部分代码: <LinearLayout xmlns:android="http://sch ...
- VS2013简单的单元测试
安装过程本人在此就不做多余的说明,如果一个程序员连一个软件都无法安装那我也醉了,其次就是希望我们不要为了完成作业而去用VS,下面我具体说一下单元测试. 第一步,文件→新建一个项目,具体操作如下图 打开 ...
- Android 图表
今天在群里有人提问Android的图表,在网上搜索了一下,在贴吧中看到的回答,说是Trinea整理的开源项目,不知道是不是博客上的Trinea. 将内容记录如下,以备需要时查看. GraphView ...
- 2013成都网赛1003 hdu 4730 We Love MOE Girls
题意:有一个字符串,若以"desu"结尾,则将末尾的"desu"替换为"nanodesu",否则在字符串末尾加上"nanodesu ...
- 学习官方示例 - TForm.BorderIcons
本例用一行代码禁用了最大化按钮. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphi ...
- Trips CodeForces - 1037E(思维dfs)
题意: 就是几个人去旅游,组队的条件是对于某个队员 队里至少有两个是他的朋友,每天早晨都会有一对新人成为朋友 解析: 用set标记互为朋友 a[i] b[i] 表示在第i天早晨 u和v成为朋友 先求最 ...
- 【BZOJ1056】[HAOI2008]排名系统(Splay)
[BZOJ1056][HAOI2008]排名系统(Splay) 题面 BZOJ 洛谷 题解 \(Splay\)随便维护一下就好了,至于名字什么的,我懒得手写哈希表了,直接哈希之后拿\(map\)压. ...
- Django入门项目实践(下)
5.设置应用程序的样式 安装django-bootstrap3. # untitled/untitled/settings.py # ··· INSTALLED_APPS = [ 'django.co ...
- spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置
spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...
- Activiti学习——Activiti与Spring集成
转: Activiti学习——Activiti与Spring集成 与Spring集成 基础准备 目录结构 相关jar包 Activiti的相关jar包 Activiti依赖的相关jar包 Spring ...