系统休眠恢复后出现WebDriverException错误,求解决方案
解决系统休眠恢复后WebDriver DevTools断开异常的方案
- 重启WebDriver会话:系统休眠会中断Chrome与DevTools的WebSocket连接,这是最直接的修复手段。在代码中捕获该异常,销毁当前driver实例后重新初始化新会话。示例代码(Python):
from selenium.common.exceptions import WebDriverException from selenium import webdriver try: # 执行你的业务操作 driver.get("https://example.com") except WebDriverException as e: if "disconnected: not connected to DevTools" in str(e): driver.quit() driver = webdriver.Chrome()
- 调整Chrome启动参数:Chrome在系统休眠时会主动断开DevTools连接,添加特定启动参数可降低这类问题发生概率:
加入--disable-features=NetworkService,NetworkServiceInProcess和--disable-dev-shm-usage参数,示例:
options = webdriver.ChromeOptions() options.add_argument("--disable-features=NetworkService,NetworkServiceInProcess") options.add_argument("--disable-dev-shm-usage") driver = webdriver.Chrome(options=options)
提前检测会话有效性:在关键操作前,通过
driver.current_url或driver.title验证会话状态,若抛出异常则触发重连逻辑,避免后续操作失败。休眠前主动关闭会话:若预知系统将进入休眠,提前调用
driver.quit()关闭当前会话,休眠恢复后再重新启动会话,从根源避免连接中断问题。
内容的提问来源于stack exchange,提问作者Anees
相关产品推荐
相关产品推荐

