如何阻止Selenium运行结束后自动关闭Edge浏览器
解决Edge浏览器执行后自动关闭的问题
核心问题
你已经设置了detach=True,但没有把配置对象传递给Edge驱动实例,导致这个配置根本没生效。
修复后的代码
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.edge.options import Options # 创建配置并启用detach edge_options = Options() edge_options.add_experimental_option("detach", True) # 把配置传给驱动实例,这一步是关键! driver = webdriver.Edge(options=edge_options) driver.get("https://oceanspray-amc.ivanticloud.com/Account/SelectRole?returnUrl=%3FNoDefaultProvider%3DTrue&NoDefaultProvider=True/") driver.maximize_window() time.sleep(2) driver.find_element(By.XPATH, "/html/body/div[3]/div/form/div[4]/div/a").click() time.sleep(2) driver.find_element(By.XPATH, "/html/body/div[3]/div/form/div[3]").click() driver.find_element(By.XPATH, "/html/body/div[3]/div/form/div[4]/div/button").click()
其他可选方案
- 手动阻塞程序结束:如果不想依赖detach配置,在代码最后添加一行
input("按回车键关闭浏览器..."),程序会等待你输入后才终止,浏览器会保持打开状态。 - 避免主动调用退出:确保代码中没有手动调用
driver.quit(),默认情况下Selenium在脚本结束时会自动触发退出,但detach配置会覆盖这个默认行为。
内容的提问来源于stack exchange,提问作者Roamer
相关产品推荐
相关产品推荐

