Windows8.1下Python+Selenium启动Chrome后2秒自动关闭问题求助
问题解决步骤
1. 修复路径转义错误
你的代码里chrome_driver_path = 'C:\chromedriver.exe'触发了SyntaxWarning: invalid escape sequence '\c',这是因为Python单引号字符串中\是转义字符,\c不属于合法转义序列。三种解决方式任选其一:
- 使用原始字符串:
chrome_driver_path = r'C:\chromedriver.exe' - 替换反斜杠为双反斜杠:
chrome_driver_path = 'C:\\chromedriver.exe' - 用双引号包裹路径:
chrome_driver_path = "C:\chromedriver.exe"
2. 阻止浏览器自动关闭
脚本执行完毕后,driver对象会被Python垃圾回收机制销毁,导致Chrome自动关闭。可以通过添加Chrome选项强制保持浏览器打开:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 开启浏览器驻留模式 chrome_options.add_experimental_option("detach", True) # 推荐:Selenium 4.10+ 无需手动指定driver路径,会自动匹配Chrome版本 driver = webdriver.Chrome(options=chrome_options) # 若仍需手动指定路径,用修复后的路径 # chrome_driver_path = r'C:\chromedriver.exe' # service = Service(chrome_driver_path) # driver = webdriver.Chrome(service=service, options=chrome_options) driver.get('https://www.hlth.com/2023event/sponsors')
也可以在脚本末尾添加input("按回车关闭浏览器..."),让脚本暂停直到你手动触发关闭。
3. 处理无关错误日志
- Network service crashed:属于Chrome内部服务偶发崩溃,更新Chrome到Windows8.1支持的最新版本(114.x系列),并匹配对应版本的ChromeDriver即可缓解,不影响爬取逻辑。
- USB设备读取错误:是系统USB外设(如摄像头、蓝牙设备)的兼容性问题,和爬取无关可直接忽略。如果觉得日志干扰,可添加选项禁用USB扫描:
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) chrome_options.add_argument("--disable-usb")
内容的提问来源于stack exchange,提问作者djilali faycal
相关产品推荐
相关产品推荐

