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#里面給頁面文本框進行賦值'");
}
}
}