Skip to content

Optimus is headless Web Browser fully implemented on .net.

License

Notifications You must be signed in to change notification settings

RusKnyaz/Optimus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Optimus is headless Web Browser fully implemented on .net.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages