Python Selenium打开网页后自动关闭,如何让网页保持打开?
解决Selenium打开网页后立即关闭的问题
你的代码执行完所有逻辑后,Python进程会直接结束,ChromeDriver也会随之终止,导致浏览器窗口自动关闭。下面是几种简单有效的解决办法:
方法1:添加用户输入等待
在代码末尾加上input(),程序会等待你按下回车键才结束,浏览器窗口会一直保持打开:
from selenium import webdriver from selenium.webdriver.chrome.service import Service service_object_name = Service(r'C:\SneakerPython\chromedriver.exe') options_name = webdriver.ChromeOptions() options_name.add_argument("--start-maximized") browser = webdriver.Chrome(service=service_object_name, options=options_name) browser.get("https://www.solebox.com/de_DE/p/jordan-air_jordan_1_retro_high_og_%22gorge_green%22-gorge_green%2Fmetallic_silver-wht-02142227.html") # 等待用户输入,阻止程序结束 input("按下回车键关闭浏览器...")
方法2:设置固定休眠时间
如果不需要交互,可以用time.sleep()让程序暂停指定时长,时间到后才关闭浏览器:
from selenium import webdriver from selenium.webdriver.chrome.service import Service import time service_object_name = Service(r'C:\SneakerPython\chromedriver.exe') options_name = webdriver.ChromeOptions() options_name.add_argument("--start-maximized") browser = webdriver.Chrome(service=service_object_name, options=options_name) browser.get("https://www.solebox.com/de_DE/p/jordan-air_jordan_1_retro_high_og_%22gorge_green%22-gorge_green%2Fmetallic_silver-wht-02142227.html") # 休眠30秒,期间浏览器保持打开 time.sleep(30)
方法3:让浏览器脱离驱动独立运行
给ChromeOptions添加--detach参数,这样即使ChromeDriver进程结束,浏览器窗口依然会保持打开:
from selenium import webdriver from selenium.webdriver.chrome.service import Service service_object_name = Service(r'C:\SneakerPython\chromedriver.exe') options_name = webdriver.ChromeOptions() options_name.add_argument("--start-maximized") # 添加detach参数,让浏览器在驱动结束后继续运行 options_name.add_argument("--detach") browser = webdriver.Chrome(service=service_object_name, options=options_name) browser.get("https://www.solebox.com/de_DE/p/jordan-air_jordan_1_retro_high_og_%22gorge_green%22-gorge_green%2Fmetallic_silver-wht-02142227.html")
内容的提问来源于stack exchange,提问作者Finn Kuhlmann
相关产品推荐
相关产品推荐

