# # Browser control # # This provides a headless google chrome image with correct useragent # from selenium import webdriver from useragent import USERAGENT WIDTH = 1280 HEIGHT = 1024 # USERAGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" def get_driver(url=None): options = webdriver.ChromeOptions() options.add_argument("--no-sandbox") options.add_argument("--disable-gpu") options.add_argument("--disable-dev-shm-usage") # We must correct the user-agent because headless. options.add_argument(f"user-agent={USERAGENT}") options.add_argument(f"window-size={WIDTH},{HEIGHT}") # Headless changes UserAgent from Chrome to HeadlessChrome. options.add_argument("--headless=new") if url is None: url = "http://127.0.0.1:9515" driver = webdriver.Remote(command_executor=url, options=options) return driver def get_useragent(driver): return driver.execute_script("return navigator.userAgent;")