Firstly I am a beginner with Chromium Embedded Framework. Ican browse an webpage through the following code. Now I want to access an webpage as a Document. My target is that after browsing an webpage I want a table or high chart represented in that page and as well as all the css used in that webpage. Please help me and tell me how can I access this page as Document then I can traverse the whole page using HTMLElment, HtmlCOllection property.
Is there any suggestion for myself?
using System;
using System.Windows.Forms;
using CefSharp.Example;
namespace CefSharp.WinForms.Example
{
public partial class BrowserForm : Form
{
private const string DefaultUrlForAddedTabs = "https://www.google.com";
public BrowserForm()
{
InitializeComponent();
var bitness = Environment.Is64BitProcess ? "x64" : "x86";
Text = "CefSharp.WinForms.Example - " + bitness;
WindowState = FormWindowState.Maximized;
AddTab("http://localhost:62343/login.html");
ResizeBegin += (s, e) => SuspendLayout();
ResizeEnd += (s, e) => ResumeLayout(true);
}
private void AddTab(string url, int? insertIndex = null)
{
browserTabControl.SuspendLayout();
var browser = new BrowserTabUserControl(url)
{
Dock = DockStyle.Fill,
};
var tabPage = new TabPage(url)
{
Dock = DockStyle.Fill
};
browser.CreateControl();
tabPage.Controls.Add(browser);
if (insertIndex == null)
{
browserTabControl.TabPages.Add(tabPage);
}
else
{
browserTabControl.TabPages.Insert(insertIndex.Value, tabPage);
}
browserTabControl.SelectedTab = tabPage;
browserTabControl.ResumeLayout(true);
}
private void ExitMenuItemClick(object sender, EventArgs e)
{
ExitApplication();
}
private void ExitApplication()
{
Cef.Shutdown();
Close();
}
private void AboutToolStripMenuItemClick(object sender, EventArgs e)
{
new AboutBox().ShowDialog();
}
private void FindMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.ShowFind();
}
}
private void CopySourceToClipBoardAsyncClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.CopySourceToClipBoardAsync();
}
}
private BrowserTabUserControl GetCurrentTabControl()
{
if (browserTabControl.SelectedIndex == -1)
{
return null;
}
var tabPage = browserTabControl.Controls[browserTabControl.SelectedIndex];
var control = (BrowserTabUserControl)tabPage.Controls[0];
return control;
}
private void NewTabToolStripMenuItemClick(object sender, EventArgs e)
{
AddTab(DefaultUrlForAddedTabs);
}
private void CloseTabToolStripMenuItemClick(object sender, EventArgs e)
{
if(browserTabControl.Controls.Count == 0)
{
return;
}
var currentIndex = browserTabControl.SelectedIndex;
var tabPage = browserTabControl.Controls[currentIndex];
var control = GetCurrentTabControl();
if (control != null)
{
control.Dispose();
}
browserTabControl.Controls.Remove(tabPage);
browserTabControl.SelectedIndex = currentIndex - 1;
if (browserTabControl.Controls.Count == 0)
{
ExitApplication();
}
}
private void UndoMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Undo();
}
}
private void RedoMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Redo();
}
}
private void CutMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Cut();
}
}
private void CopyMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Copy();
}
}
private void PasteMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Paste();
}
}
private void DeleteMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Delete();
}
}
private void SelectAllMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.SelectAll();
}
}
private void PrintToolStripMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.Print();
}
}
private void ShowDevToolsMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.ShowDevTools();
}
}
private void CloseDevToolsMenuItemClick(object sender, EventArgs e)
{
var control = GetCurrentTabControl();
if (control != null)
{
control.Browser.CloseDevTools();
}
}
}
}