Selenium 4中WebDriver控制的浏览器自动关闭问题咨询
问题解答
现象是否正常?
这是正常现象。在Selenium 4.x版本中,当Python脚本执行完毕后,driver对象会被Python的垃圾回收机制自动销毁,关联的浏览器进程也会随之关闭——哪怕你没有调用driver.quit()或driver.close()方法。
解决办法
有两种常用方式可以让浏览器窗口保持打开:
方法1:添加阻塞代码
在脚本末尾加入输入阻塞,让程序暂停执行,直到你手动触发结束,这样driver对象不会被回收:
from selenium import webdriver from selenium.webdriver.chrome.service import Service PATH = r"D:\vscode_project\webdriver\chromedriver-win64\chromedriver.exe" service = Service(PATH) driver = webdriver.Chrome(service=service) driver.get("https://www.google.com") print(driver.title) # 添加这行,脚本会等待你按下回车键才结束 input("按下回车键关闭浏览器...")
方法2:配置Chrome的detach选项
通过ChromeOptions添加detach实验性参数,让浏览器与驱动进程分离,脚本结束后浏览器依然保持打开:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options PATH = r"D:\vscode_project\webdriver\chromedriver-win64\chromedriver.exe" service = Service(PATH) # 配置选项 options = Options() options.add_experimental_option("detach", True) driver = webdriver.Chrome(service=service, options=options) driver.get("https://www.google.com") print(driver.title)
内容的提问来源于stack exchange,提问作者NoahsarkTaiwan
相关产品推荐
相关产品推荐

