#!/usr/bin/env python3 import time import json from selenium import webdriver from selenium.webdriver.chrome.service import Service # Configure Chrome options to run in incognito mode. options = webdriver.ChromeOptions() options.add_argument("--incognito") # Uncomment the following option if you want to auto-open developer tools for each tab. # options.add_argument("--auto-open-devtools-for-tabs") # Initialize the Chrome driver. # If ChromeDriver is not in your PATH, specify its location: Service('/path/to/chromedriver') service = Service() # Assumes chromedriver is in your PATH driver = webdriver.Chrome(service=service, options=options) print("Opening https://chat.google.com ...") driver.get("https://chat.google.com") print("\nA new incognito window has been opened.") print("Please log in normally. To inspect cookies manually:") print(" 1. Press F12 to open developer tools.") print(" 2. Navigate to the Application (Chrome) or Storage (Firefox) tab.") print(" 3. Expand Cookies and select https://chat.google.com.") print(" 4. Verify that the COMPASS, SSID, SID, OSID, and HSID cookies are present.") print("\nIMPORTANT: Once you are logged in and have confirmed the cookies (or just logged in),") print("press Enter here. (Remember: to keep the validity of these cookies, close the browser soon!)") input("Press Enter to extract cookies...") # Get all cookies all_cookies = driver.get_cookies() # Define the cookie names we want (case-insensitive) target_names = {"COMPASS", "SSID", "SID", "OSID", "HSID"} extracted = {} # For COMPASS cookie, if multiple are present, prefer the one with path == "/" compass_cookie = None for cookie in all_cookies: name_upper = cookie["name"].upper() if name_upper not in target_names: continue if name_upper == "COMPASS": if cookie.get("path", "") == "/": compass_cookie = cookie elif compass_cookie is None: compass_cookie = cookie else: extracted[name_upper] = cookie["value"] if compass_cookie: extracted["COMPASS"] = compass_cookie["value"] # Form JSON object of the extracted cookies. json_data = json.dumps(extracted, indent=2) print("\nExtracted Cookie JSON:") print(json_data) print("\nClosing the browser window to avoid invalidating the cookies (Google uses refresh tokens).") time.sleep(5) # wait a few seconds to allow the user to read the output # Close the browser window. driver.quit()