import socket import random from DrissionPage import Chromium, ChromiumOptions def getBrowsers(chrome_zoom = 1.0, save_path: str = "") -> Chromium: while True: port = random.randint(9000, 65535) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: if s.connect_ex(('127.0.0.1', port)) != 10061: continue break if save_path: options = ChromiumOptions().set_local_port(port).set_user_data_path(save_path) else: options = ChromiumOptions().auto_port() options = options.set_argument('--force-device-scale-factor', str(chrome_zoom)) # options = options.set_user_agent('Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)') while True: try: browser = Chromium(options) break except: pass return browser