/Optimus

Optimus is headless Web Browser fully implemented on .net.

Primary LanguageC#MIT LicenseMIT

Optimus

Optimus is headless Web Browser fully implemented on .net.

Release notes

Downloads

Samples

  • Quick start

Create console application and paste the code:

using System.Linq;
using Knyaz.Optimus;
using Knyaz.Optimus.Dom.Elements;
using Console = System.Console;

namespace ConsoleApplication1
{
   class Program
   {
   	static async void Main(string[] args)
   	{
   		var engine = EngineBuilder.New()
   		    .UseJint()// Enable JavaScripts execution.
   		    .Build(); // Builds the Optimus engine.
       
   		//Request the web page.
   		var page = await engine.OpenUrl("http://google.com");
   		//Get the document
   		var document = page.Document;
   		//Get DOM items
   		Console.WriteLine("The first document child node is: " + document.FirstChild);
   		Console.WriteLine("The first document body child node is: " + document.Body.FirstChild);
   		Console.WriteLine("The first element tag name is: " + document.ChildNodes.OfType<HtmlElement>().First().TagName);
   		Console.WriteLine("Whole document innerHTML length is: " + document.DocumentElement.InnerHTML.Length);
   		Console.ReadKey();
   	}
   }
}

Projects structure

  • Knyaz.Optimus - The main assembly with implementation of web browser (without GUI and rendering).
  • Knyaz.Optimus.Tests - Acceptance tests library.
  • Knyaz.Optimus.JsTests - Simple Js tests.
  • Knyaz.Optimus.UnitTests - Pure unit tests.
  • Knyaz.Optimus.WfApp - Simple test application with DOM explorer and Log window.

License

Optimus is released under the MIT license.