mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
录像过程文件放到临时文件夹;微调参数
This commit is contained in:
parent
2986e3eeb1
commit
ecfa83dcf8
@ -753,29 +753,29 @@ class ChromiumBase(BasePage):
|
||||
return self._get_screenshot(path=path, name=name, as_bytes=as_bytes, as_base64=as_base64,
|
||||
full_page=full_page, left_top=left_top, right_bottom=right_bottom)
|
||||
|
||||
def add_init_js(self, js):
|
||||
def add_init_js(self, script):
|
||||
"""添加初始化脚本,在页面加载任何脚本前执行
|
||||
:param js: js文本
|
||||
:param script: js文本
|
||||
:return: 添加的脚本的id
|
||||
"""
|
||||
js_id = self.run_cdp('Page.addScriptToEvaluateOnNewDocument', source=js,
|
||||
js_id = self.run_cdp('Page.addScriptToEvaluateOnNewDocument', source=script,
|
||||
includeCommandLineAPI=True)['identifier']
|
||||
self._init_jss.append(js_id)
|
||||
return js_id
|
||||
|
||||
def remove_init_js(self, js_id=None):
|
||||
def remove_init_js(self, script_id=None):
|
||||
"""删除初始化脚本,js_id传入None时删除所有
|
||||
:param js_id: 脚本的id
|
||||
:param script_id: 脚本的id
|
||||
:return: None
|
||||
"""
|
||||
if js_id is None:
|
||||
if script_id is None:
|
||||
for js_id in self._init_jss:
|
||||
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=js_id)
|
||||
self._init_jss.clear()
|
||||
|
||||
elif js_id in self._init_jss:
|
||||
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=js_id)
|
||||
self._init_jss.remove(js_id)
|
||||
elif script_id in self._init_jss:
|
||||
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=script_id)
|
||||
self._init_jss.remove(script_id)
|
||||
|
||||
def clear_cache(self, session_storage=True, local_storage=True, cache=True, cookies=True):
|
||||
"""清除缓存,可选要清除的项
|
||||
|
@ -214,9 +214,9 @@ class ChromiumBase(BasePage):
|
||||
|
||||
def get_local_storage(self, item: str = None) -> Union[str, dict, None]: ...
|
||||
|
||||
def add_init_js(self, js: str) -> str: ...
|
||||
def add_init_js(self, script: str) -> str: ...
|
||||
|
||||
def remove_init_js(self, js_id: str = None) -> None: ...
|
||||
def remove_init_js(self, script_id: str = None) -> None: ...
|
||||
|
||||
def get_screenshot(self, path: [str, Path] = None, name: str = None, as_bytes: PIC_TYPE = None,
|
||||
as_base64: PIC_TYPE = None, full_page: bool = False, left_top: Tuple[int, int] = None,
|
||||
|
@ -8,6 +8,7 @@ from os.path import sep
|
||||
from pathlib import Path
|
||||
from random import randint
|
||||
from shutil import rmtree
|
||||
from tempfile import gettempdir
|
||||
from threading import Thread
|
||||
from time import sleep, time
|
||||
|
||||
@ -36,7 +37,11 @@ class Screencast(object):
|
||||
raise ValueError('save_path必须设置。')
|
||||
|
||||
if self._mode in ('frugal_video', 'video'):
|
||||
self._tmp_path = self._path / f'screencast_tmp_{time()}_{randint(0, 100)}'
|
||||
if self._page.browser.page._chromium_options.tmp_path:
|
||||
self._tmp_path = Path(
|
||||
self._page.browser.page._chromium_options.tmp_path) / f'screencast_tmp_{time()}_{randint(0, 100)}'
|
||||
else:
|
||||
self._tmp_path = Path(gettempdir()) / 'DrissionPage' / f'screencast_tmp_{time()}_{randint(0, 100)}'
|
||||
self._tmp_path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
if self._mode.startswith('frugal'):
|
||||
|
Loading…
x
Reference in New Issue
Block a user