@@ -172,16 +172,29 @@ def selenium_driver(url, headless=True, incognito=True):
172172 options .add_argument ('-disable-extensions' )
173173 # 禁用浏览器应用
174174 options .add_argument ('-disable-software-rasterizer' )
175-
175+ else :
176+ import tempfile
177+ user_data = os .path .expanduser ('~' ) + r"\AppData\Local\Google\Chrome\User Data"
178+ # import getpass
179+ # user_data = r"--user-data-dir=C:\Users\{}\AppData\Local\Google\Chrome\User Data".format(getpass.getuser())
180+ # user_data = r"--user-data-dir=C:\Users\%s\AppData\Local\Google\Chrome\User Data" % os.environ["USERPROFILE"]
181+ mkdtemp = tempfile .mkdtemp () + "\\ User Data"
182+ try :
183+ # import distutils.dir_util
184+ # distutils.dir_util.copy_tree(user_data, mkdtemp)
185+ import shutil
186+ shutil .copytree (user_data , mkdtemp , ignore_dangling_symlinks = True )
187+ except :
188+ pass
189+ options .add_argument ("--user-data-dir=" + mkdtemp )
176190 options .add_experimental_option ('prefs' , prefs )
177191 # capa = DesiredCapabilities.CHROME
178192 capa = options .to_capabilities ()
179193 # 懒加载模式,不等待页面加载完毕
180194 # capa["pageLoadStrategy"] = "none"
181195
182196 # 打开浏览器,executable_path指定驱动位置
183- # driver = webdriver.Chrome(chrome_options=options, executable_path=path, desired_capabilities=capa)
184- driver = webdriver .Chrome (executable_path = path , desired_capabilities = capa )
197+ driver = webdriver .Chrome (executable_path = path , options = options , desired_capabilities = capa )
185198 # 下载设置
186199 driver .execute_cdp_cmd ("Page.setDownloadBehavior" , {'behavior' : 'deny' , 'downloadPath' : "D:\\ " })
187200
@@ -230,6 +243,11 @@ def _quit(driver):
230243 driver .quit ()
231244 driver .service .stop ()
232245 os .system ('taskkill /im chromedriver.exe /F' )
246+ user_data = driver .desired_capabilities ["chrome" ]["userDataDir" ]
247+ if os .path .exists (user_data ):
248+ path = os .path .split (user_data )
249+ # 删除临时文件目录
250+ os .remove (path [0 ])
233251
234252
235253class SafeDriver :
0 commit comments