使用Selenium打开网页后Chrome浏览器自动关闭的问题求助
问题原因
你遇到的浏览器自动关闭是Selenium的默认机制:当你的Python代码执行完全部语句后,webdriver实例会被自动销毁,对应的浏览器进程也会随之关闭。你之前加time.sleep(5)只是延缓了代码执行完毕的时间,倒计时结束后代码走完流程,浏览器自然还是会关闭,这个现象和你用VSCode启动调试的运行方式没有关联。
解决方案
方案1:配置detach参数(推荐)
通过Chrome的实验性选项开启detach模式,明确要求代码执行完毕后不要关闭浏览器,修改后的代码如下:
from selenium import webdriver from selenium.webdriver.chrome.options import Options PATH = "C:\Program Files (x86)\chromedriver.exe" # 初始化配置项 chrome_options = Options() chrome_options.add_experimental_option("detach", True) driver = webdriver.Chrome(executable_path=PATH, options=chrome_options) driver.maximize_window() driver.get("https://www.mmorpg.com/")
注意:如果你使用的是Selenium 4.6及以上版本,不需要手动配置chromedriver路径,Selenium会自动匹配对应版本的驱动,代码可以简化去掉PATH相关配置。
方案2:阻塞程序执行
如果你需要浏览器保持开启直到你手动触发结束,可以在代码末尾加一行输入阻塞语句,让程序不会执行到结束流程:
from selenium import webdriver import time PATH = "C:\Program Files (x86)\chromedriver.exe" driver=webdriver.Chrome(PATH) driver.maximize_window() driver.get("https://www.mmorpg.com/") # 新增以下语句,程序会等待你在终端输入内容后再继续执行 input("请在终端按回车键后才会关闭浏览器:")
内容的提问来源于stack exchange,提问作者Omece
相关产品推荐
相关产品推荐

