static ChromiumWebBrowser browser;
var settines = new CefSettings()
{
Locale = "zh-CN",
AcceptLanguageList = "zh-CN",
MultiThreadedMessageLoop = true
};
Cef.Initialize(settines);
browser = new ChromiumWebBrowser("www.baidu.com");//指定初始化地址
this.panel1.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
//加载开始事件
browser.FrameLoadStart += Browser_FrameLoadStart;
//加载完成后事件
browser.FrameLoadEnd += Web_FrameLoadEnd;
browser.Load("www.qq.com");
private async void Web_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
//一个网页会调用多次,需要手动自己处理逻辑
var url = e.Url;
var result = await browser.GetSourceAsync();
var html = result;
}
browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("alert('这是c#调用的js,给文本框赋值!')");
browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("document.getElementById('kw').value='在C#里面给页面文本框进行赋值'");
//你可以做你任何想做的事了
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
static ChromiumWebBrowser browser;
public Form1()
{
InitializeComponent();
DataInit();
}
/// <summary>
/// 初始化
/// </summary>
public void DataInit()
{
var settines = new CefSettings()
{
Locale = "zh-CN",
AcceptLanguageList = "zh-CN",
MultiThreadedMessageLoop = true
};
Cef.Initialize(settines);
browser = new ChromiumWebBrowser("www.baidu.com");//指定初始化地址
this.panel1.Controls.Add(browser);
browser.Dock = DockStyle.Fill;
//加载开始事件
browser.FrameLoadStart += Browser_FrameLoadStart;
//加载完成后事件
browser.FrameLoadEnd += Web_FrameLoadEnd;
}
private void Browser_FrameLoadStart(object sender, FrameLoadStartEventArgs e)
{
var url = e.Url;
}
private void button1_Click(object sender, EventArgs e)
{
browser.Load(txt_Url.Text);
}
private async void Web_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
//一个网页会调用多次,需要手动自己处理逻辑
var url = e.Url;
var result = await browser.GetSourceAsync();
var html = result;
////调用js
//browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("alert('这是c#调用的js,给文本框赋值!')");
////txtAccount
//browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("document.getElementById('kw').value='在C#里面给页面文本框进行赋值'");
}
}
}