Python Selenium添加detach选项后浏览器仍自动关闭求助
问题:Selenium Chrome窗口添加detach=True后仍自动关闭
我是Selenium新手,这段代码能成功打开YouTube,但窗口会在打开后不久自动关闭。为解决此问题,我添加了detach=True选项,但并未生效,窗口仍会在几秒后关闭。运行代码时曾出现USB相关错误,我添加了excludeSwitches屏蔽了错误提示,但窗口自动关闭的问题仍未解决。使用环境为Windows10系统及最新版本的VS。
我的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_experimental_option("detach", True) s=Service(ChromeDriverManager().install()) driver = webdriver.Chrome(options=chrome_options, service=s) driver.maximize_window() driver.get('https://www.youtube.com')
解决方法:
确认ChromeDriver与Chrome版本完全匹配
webdriver_manager偶尔会出现版本匹配偏差,手动检查Chrome版本(设置→关于Chrome),指定对应版本安装ChromeDriver:# 示例:替换为你的Chrome对应版本号 s=Service(ChromeDriverManager(version="114.0.5735.199").install())更换detach选项的设置方式
部分Selenium版本中,detach需要通过add_argument设置:chrome_options.add_argument("--detach")替换原有的
chrome_options.add_experimental_option("detach", True)添加阻塞语句阻止程序退出
在代码末尾加入输入阻塞,让程序保持运行,直到手动触发关闭:input("按回车键关闭浏览器...") driver.quit()检查VS运行模式
若使用VS调试模式运行,调试结束可能会强制关闭进程。尝试直接用命令行运行脚本,而非通过VS调试按钮启动。
内容的提问来源于stack exchange,提问作者Ethan Turnbull
相关产品推荐
相关产品推荐

