v0.6.5
Fixed
-
patch_nodriver()now safe to run multiple times
The previous implementation usedimportlib.util.find_spec("nodriver.cdp.network")which
itself triggered theSyntaxErrorit was trying to fix (importing the submodule requires
importing the parent, which fails). Switched tofind_spec("nodriver")(top-level only)
and constructing the path tocdp/network.pyviapathlib. Additionally, the replacement
now uses a regex negative lookbehind(?<!\xc2)\xb1to prevent double-encoding on
subsequent runs. -
Browser engine: handle tab/browser closed mid-request
Two new exception types are now caught and raised asStealthConnectionErrorinstead of
logging as unhandled errors:ConnectionClosedError— WebSocket dropped (tab closed while loading)ProtocolException— CDP target no longer found (tab/context destroyed)