Skip to content

Commit 4e5f3fe

Browse files
committed
Optimize cleanup of Undetected-Chromedriver Mode (--uc)
1 parent 79417a9 commit 4e5f3fe

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

seleniumbase/undetected/__init__.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -440,22 +440,22 @@ def start_session(self, capabilities=None, browser_profile=None):
440440
)
441441

442442
def quit(self):
443-
logger.debug("Closing webdriver")
444-
if hasattr(self, "service") and getattr(self.service, "process", None):
445-
self.service.process.kill()
446443
try:
447-
if self.reactor and isinstance(self.reactor, Reactor):
448-
logger.debug("shutting down reactor")
449-
self.reactor.event.set()
450-
except Exception:
451-
pass
452-
try:
453-
logger.debug("Killing browser")
444+
logger.debug("Terminating the browser")
454445
os.kill(self.browser_pid, 15)
455446
except TimeoutError as e:
456447
logger.debug(e, exc_info=True)
457448
except Exception:
458449
pass
450+
if hasattr(self, "service") and getattr(self.service, "process", None):
451+
logger.debug("Stopping webdriver service")
452+
self.service.stop()
453+
try:
454+
if self.reactor and isinstance(self.reactor, Reactor):
455+
logger.debug("Shutting down reactor")
456+
self.reactor.event.set()
457+
except Exception:
458+
pass
459459
if (
460460
hasattr(self, "keep_user_data_dir")
461461
and hasattr(self, "user_data_dir")
@@ -486,10 +486,17 @@ def quit(self):
486486

487487
def __del__(self):
488488
try:
489-
super().quit()
489+
if "win32" in PLATFORM:
490+
self.stop_client()
491+
self.command_executor.close()
492+
else:
493+
super().quit()
494+
except Exception:
495+
pass
496+
try:
497+
self.quit()
490498
except Exception:
491499
pass
492-
self.quit()
493500

494501
def __enter__(self):
495502
return self

0 commit comments

Comments
 (0)