FAQ¶
Which search provider should I use?¶
Start with DuckDuckGoSearchProvider — it is the only one that needs no
browser and is by far the cheapest. Move to a browser-based provider
(PlaywrightSearchProvider, CloakBrowserSearchProvider) only when the HTML
endpoint does not give usable results for your queries. See
Search Providers.
When do I need the CloakBrowser engine?¶
When target pages detect and block plain Playwright automation (bot walls,
"please verify you are human" interstitials). CloakBrowserSession launches
through CloakBrowser and applies stealth scripts that mask common automation
signals. See Browser Engines.
Do I need Playwright browser binaries for every feature?¶
No. DuckDuckGoSearchProvider and WebAccessService are plain HTTP. Only
content fetching, browser search providers, and WebNavigationAgent drive a
browser. See Installation.
Why does my fetch/search return Success = false without an exception?¶
By design. WebTools.NET reports operational failures through result objects
(Success / Reachable flags with ErrorMessage) instead of throwing. See
Error Handling.
Why does NavigateAsync return only same-host links?¶
The navigation agent is designed for exploring one site at a time. Cross-host links are dropped during extraction, and returned links are verified for reachability first. See WebNavigationAgent.
Can I use the library without dependency injection?¶
Yes. All agents have public constructors and a parameterless convenience constructor that creates and owns a default Playwright-based dependency. See Dependency Injection.
How do I debug what the agents are doing?¶
Pass an ILogger<T> to the constructor (or register logging before
AddBrowserServices) and enable Debug level for WebTools.NET types.
Navigation steps, extracted links, fallback queries, and failures are logged
at debug level.
How accurate is the geo-region detection?¶
Best effort. The Geo-IP lookup uses a free plain-HTTP tier and falls back to the system UI culture on failure. Treat the result as a hint for choosing endpoints, never as a security decision. See Geo-awareness.