Selenium実行後もChromeを開いたままにする
この投稿は最終更新日から1年以上経過しています
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の方法であっても例外発生で強制終了した場合にはプロセスが残る。
環境
- Selenium 3.141.0
- ChromeDriver 89.0.4389.23
- Google Chrome 89.0.4389.82
- Windows 10 Home