Knyaz.Optimus
3.0.0
See the version list below for details.
dotnet add package Knyaz.Optimus --version 3.0.0
NuGet\Install-Package Knyaz.Optimus -Version 3.0.0
<PackageReference Include="Knyaz.Optimus" Version="3.0.0" />
paket add Knyaz.Optimus --version 3.0.0
#r "nuget: Knyaz.Optimus, 3.0.0"
// Install Knyaz.Optimus as a Cake Addin #addin nuget:?package=Knyaz.Optimus&version=3.0.0 // Install Knyaz.Optimus as a Cake Tool #tool nuget:?package=Knyaz.Optimus&version=3.0.0
Optimus
Optimus is headless Web Browser fully implemented on .net.
Downloads
- Public release versions are available on NuGet.
- Unstable versions are available on the appveyour nuget feed here: https://ci.appveyor.com/nuget/optimus-private
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();
}
}
}
- More code snippets
- Prime - the web browser based on Optimus and Optimus.Graphics.
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.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5.2
- System.Net.Http (>= 4.3.3)
-
.NETStandard 2.0
- System.Drawing.Primitives (>= 4.3.0)
- System.Net.Http (>= 4.3.3)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Knyaz.Optimus:
Package | Downloads |
---|---|
TAF.WebSupport.HeadlessBrowser
Headless browser for TAF web testing. |
|
Arfilon.Ratchet
Package Description |
|
Knyaz.Optimus.Graphics
Provides rendering for the Knyaz.Optimus |
|
Knyaz.Optimus.Scripting.Jurassic
Plugin for the Knyaz.Optimus to connect Jurassic JavaScript engine. |
|
Knyaz.Optimus.Scripting.Jint
Allows to use Jint to execute JavaScript in Optimus. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.1 | 6,885 | 10/31/2021 |
3.0.0 | 1,283 | 10/8/2021 |
3.0.0-beta-320 | 799 | 9/11/2021 |
3.0.0-beta-305 | 976 | 4/4/2021 |
3.0.0-beta-267 | 785 | 1/8/2021 |
3.0.0-beta-266 | 802 | 1/7/2021 |
2.4.1 | 2,756 | 11/21/2020 |
2.4.0 | 1,956 | 4/19/2020 |
2.3.6 | 1,259 | 3/15/2020 |
2.3.5 | 1,673 | 2/1/2020 |
2.3.4 | 1,551 | 1/11/2020 |
2.3.3 | 1,143 | 12/7/2019 |
2.3.2 | 1,075 | 11/24/2019 |
2.2.6 | 1,426 | 10/19/2019 |
2.2.5 | 1,558 | 7/24/2019 |
2.2.4 | 1,182 | 7/21/2019 |
2.2.3 | 7,590 | 5/8/2019 |
2.2.2 | 6,552 | 8/20/2018 |
2.1.43 | 2,515 | 3/12/2018 |
2.1.41 | 1,755 | 2/16/2018 |
2.0.39 | 1,629 | 12/22/2017 |
1.2.26 | 1,796 | 6/5/2017 |
1.2.23 | 1,507 | 5/3/2017 |
1.2.21 | 1,514 | 3/3/2017 |
1.2.20 | 1,763 | 12/1/2016 |
1.2.17 | 1,808 | 11/3/2016 |
1.2.15 | 1,517 | 10/3/2016 |
1.2.12 | 1,460 | 9/9/2016 |
1.2.9 | 1,398 | 8/29/2016 |
1.2.7 | 1,451 | 8/18/2016 |
1.2.4 | 1,453 | 8/16/2016 |
1.2.0 | 1,653 | 8/3/2016 |
1.1.0 | 1,567 | 8/3/2016 |
1.0.0 | 2,544 | 8/3/2016 |
- Removed obsolete API (Engine(IResourceProvider) constructor, Engine.OnWindowOpen, Knyaz.Optimus.Console class, Engine.OnResponse and Engine.OnRequest events, Engine.Load method)
- Changed INode.ChildNode property type to the NodeList.
- Changed Document.GetElementsByName method return type to the NodeList.
- Changed Document's and Element's GetElementsByTagName and GetElementsByClassName methods return type to the HtmlCollection.