RafaelEstevam.WebDriverController
0.4.2
.NET 5.0
.NET Core 3.1
.NET Standard 2.0
.NET Framework 4.5
dotnet add package RafaelEstevam.WebDriverController --version 0.4.2
NuGet\Install-Package RafaelEstevam.WebDriverController -Version 0.4.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RafaelEstevam.WebDriverController" Version="0.4.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RafaelEstevam.WebDriverController --version 0.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RafaelEstevam.WebDriverController, 0.4.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RafaelEstevam.WebDriverController as a Cake Addin
#addin nuget:?package=RafaelEstevam.WebDriverController&version=0.4.2
// Install RafaelEstevam.WebDriverController as a Cake Tool
#tool nuget:?package=RafaelEstevam.WebDriverController&version=0.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WebDriver Controller
This is a chainable wrapper around OpenQA.Selenium WebDriver to ease the use for small projects
Does this at least compile?
Jump to:
Using
Import package, create a new WDController with your IWebDriver and done
Install the NuGet package: Install-Package RafaelEstevam.WebDriverController
I suggest using this package for crawled data storage: Simple.Sqlite
Example
Full working example:
using RafaelEstevam.WebDriverController;
using RafaelEstevam.WebDriverController.Actions;
using RafaelEstevam.WebDriverController.Extensions;
// use your driver of choice
using IWebDriver driver = new ChromeDriver();
var ctr = new Controller(driver);
ctr.GoTo("https://quotes.toscrape.com/")
// wait until first quotes are visible (author clickable)
.WaitUntil_IsClickable(By.LinkText("(about)")) //.Do(new WaitUntil(By.LinkText("(about)"), WaitUntil.Is.Clickable))
.Interact(By.LinkText("Login"), (w, e) => //.Do(new Interact(By.LinkText("Login"), (w, e) =>
{
e.Click();
})
.WaitUntil_IsClickable(By.XPath("//form/input[2]"))
//.Do(new WaitUntil(By.XPath("//form/input[2]"), WaitUntil.Is.Clickable))
.Inspect((Controller c) =>
{
// You can change element's content
c.FindElement(By.XPath("//form//label"))
.SetInnerHTML(c, "Put the name down there...");
c.FindElement(By.Id("username"))
.SendKeys("me@myself.com");
c.FindElement(By.Id("password"))
.SendKeys("secret");
// take proof
var ss = c.GetScreenshot();
//ss.SaveAsFile(...)
c.FindElement(By.XPath("//form/input[2]"))
.Submit();
})
.Inspect((controller, document) =>
{
Console.WriteLine("Logged in !");
// all html is at:
var html = controller.PageSource;
// Extract all the things with HtmlAgilityPack html parsing !
var node = document.DocumentNode;
})
// end the party
.Quit();
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- HtmlAgilityPack (>= 1.11.40)
- Selenium.Support (>= 4.1.0)
- Selenium.WebDriver (>= 4.1.0)
- System.Drawing.Common (>= 5.0.2)
-
.NETFramework 4.5
- HtmlAgilityPack (>= 1.11.40)
- Selenium.Support (>= 4.1.0)
- Selenium.WebDriver (>= 4.1.0)
-
.NETStandard 2.0
- HtmlAgilityPack (>= 1.11.40)
- Selenium.Support (>= 4.1.0)
- Selenium.WebDriver (>= 4.1.0)
- System.Drawing.Common (>= 5.0.2)
-
net5.0
- HtmlAgilityPack (>= 1.11.40)
- Selenium.Support (>= 4.1.0)
- Selenium.WebDriver (>= 4.1.0)
- System.Drawing.Common (>= 5.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Paired with commit e06d18e
https://github.com/RafaelEstevamReis/WebDriverController