From 612b9879a00b03dbf8d02f3bef4d018ab61b4112 Mon Sep 17 00:00:00 2001 From: g1879 Date: Tue, 13 Apr 2021 16:58:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=9B=E5=BB=BA=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E8=BF=9B=E7=A8=8B=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/drission.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/DrissionPage/drission.py b/DrissionPage/drission.py index 653b989..2a1862c 100644 --- a/DrissionPage/drission.py +++ b/DrissionPage/drission.py @@ -382,10 +382,22 @@ def _create_chrome(chrome_path: str, port: str, args: list, proxy: dict) -> tupl :return: chrome.exe 路径和进程对象组成的元组 """ from subprocess import Popen - args = ' '.join(args) + + # ----------为路径加上双引号,避免路径中的空格产生异常---------- + args1 = [] + for arg in args: + if arg.startswith(('--user-data-dir', '--disk-cache-dir')): + index = arg.find('=') + 1 + args1.append(f'{arg[:index]}"{arg[index:].strip()}"') + else: + args1.append(arg) + + args = ' '.join(args1) + if proxy: args = f'{args} --proxy-server={proxy["http"]}' + # ----------创建浏览器进程---------- try: debugger = Popen(f'{chrome_path} --remote-debugging-port={port} {args}', shell=False)