Skip to content

Commit 70529b7

Browse files
committed
update
1 parent 2e55ea4 commit 70529b7

File tree

2 files changed

+45
-4
lines changed

2 files changed

+45
-4
lines changed

utils/FileUtil.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import zipfile
1515

1616
# Pillow
17+
from shutil import copy
18+
1719
from PIL import Image
1820

1921
from . import StringUtil
@@ -149,7 +151,7 @@ def read_file_remove_line_feed(file_path):
149151

150152
def write_temp(file_path, lines):
151153
"""
152-
创建临时文件
154+
创建临时文件 import tempfile
153155
:param file_path:文件全路径
154156
:param lines:内容
155157
:return:
@@ -304,3 +306,24 @@ def size_unit_format(size, is_speed=False, precision=2):
304306
if size < unit:
305307
return f'{round(size, precision)}{i}'
306308
return f'{round(size, precision)}{i}'
309+
310+
311+
def copy_dir(dir, newdir):
312+
"""
313+
复制目录到指定位置
314+
import shutil
315+
shutil.copytree(user_data, mkdtemp, True)
316+
import distutils.dir_util
317+
distutils.dir_util.copy_tree(user_data, mkdtemp)
318+
:param dir: 需拷贝的文件夹
319+
:param newdir: 是拷贝的地方
320+
:return:
321+
"""
322+
for p in os.listdir(dir):
323+
filepath = os.path.join(newdir, p)
324+
old_path = os.path.join(dir, p)
325+
if os.path.isdir(old_path):
326+
os.mkdir(filepath)
327+
copy_dir(old_path, filepath)
328+
if os.path.isfile(old_path):
329+
copy(old_path, filepath)

utils/ReptileUtil.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

235253
class SafeDriver:

0 commit comments

Comments
 (0)