using System.Windows.Forms; using CefSharp; using CefSharp.WinForms; var browser = new ChromiumWebBrowser("https://www.google.com"); browser.LoadHandler = new LoadHandler(); await browser.WhenReady(async () => { var result = await browser.EvaluateScriptAsync("1+1"); MessageBox.Show(result.Result.ToString()); // Output: 2 }); public class LoadHandler : ILoadHandler { public void OnFrameLoadEnd(IWebBrowser chromiumWebBrowser, FrameLoadEndEventArgs frameLoadEndArgs) { if (frameLoadEndArgs.Frame.IsMain) { chromiumWebBrowser.ExecuteJavaScriptAsync("alert('Hello World!')"); } } }
using System.Dynamic; using System.Windows.Forms; using CefSharp; using CefSharp.WinForms; public class Person { public string Name { get; set; } public int Age { get; set; } } var browser = new ChromiumWebBrowser("https://www.google.com"); browser.LoadHandler = new LoadHandler(); await browser.WhenReady(async () => { dynamic parameters = new ExpandoObject(); parameters.name = "John"; parameters.age = 30; var result = await browser.EvaluateScriptAsync("function getPerson(name, age){ return { name: name, age: age } }", parameters); var person = result.Result as IDictionaryThis code also opens a Chromium web browser, loads Google's homepage, waits until it's ready, and executes a JavaScript code. This time, the code defines a function that receives two parameters (name and age), constructs an object with them, and returns it. The EvaluateScriptAsync method also receives an object with the parameters to be passed to the function. Finally, the result is cast to a dictionary and used to create a Person object to be shown in a message box. Package Library: CefSharp.; var john = new Person() { Name = person["name"].ToString(), Age = Convert.ToInt32(person["age"]) }; MessageBox.Show($"Name: {john.Name}, Age: {john.Age}"); // Output: Name: John, Age: 30 }); public class LoadHandler : ILoadHandler { public void OnFrameLoadEnd(IWebBrowser chromiumWebBrowser, FrameLoadEndEventArgs frameLoadEndArgs) { if (frameLoadEndArgs.Frame.IsMain) { chromiumWebBrowser.ExecuteJavaScriptAsync("alert('Hello World!')"); } } }