Selenium実行後もChromeを開いたままにする

ChromeDriver起動時にdetachオプションを設定し、quit()やclose()を呼ばなければ、Selenium実行後もChromeを開いたままにできる。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def foo():
    options = Options()
    options.add_experimental_option('detach', True)
    driver = webdriver.Chrome(options=options)
    driver.get('https://example.com/')

foo()

別の方法。driverをグローバル宣言するとオプションを付けなくてもChromeは閉じない。

from selenium import webdriver

def foo():
    global driver
    driver = webdriver.Chrome()
    driver.get('https://example.com/')

foo()

または、

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://example.com/')

ただし、グローバル変数の方法ではChromeを終了させてもChromeDriverのプロセスが残る。また、ローカルかつdetachの方法であっても例外発生で強制終了した場合にはプロセスが残る。

環境

参考