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,
|
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)
|
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
|
:return: 添加的脚本的id
|
||||||
"""
|
"""
|
||||||
js_id = self.run_cdp('Page.addScriptToEvaluateOnNewDocument', source=js,
|
js_id = self.run_cdp('Page.addScriptToEvaluateOnNewDocument', source=script,
|
||||||
includeCommandLineAPI=True)['identifier']
|
includeCommandLineAPI=True)['identifier']
|
||||||
self._init_jss.append(js_id)
|
self._init_jss.append(js_id)
|
||||||
return js_id
|
return js_id
|
||||||
|
|
||||||
def remove_init_js(self, js_id=None):
|
def remove_init_js(self, script_id=None):
|
||||||
"""删除初始化脚本,js_id传入None时删除所有
|
"""删除初始化脚本,js_id传入None时删除所有
|
||||||
:param js_id: 脚本的id
|
:param script_id: 脚本的id
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
if js_id is None:
|
if script_id is None:
|
||||||
for js_id in self._init_jss:
|
for js_id in self._init_jss:
|
||||||
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=js_id)
|
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=js_id)
|
||||||
self._init_jss.clear()
|
self._init_jss.clear()
|
||||||
|
|
||||||
elif js_id in self._init_jss:
|
elif script_id in self._init_jss:
|
||||||
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=js_id)
|
self.run_cdp('Page.removeScriptToEvaluateOnNewDocument', identifier=script_id)
|
||||||
self._init_jss.remove(js_id)
|
self._init_jss.remove(script_id)
|
||||||
|
|
||||||
def clear_cache(self, session_storage=True, local_storage=True, cache=True, cookies=True):
|
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 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,
|
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,
|
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 pathlib import Path
|
||||||
from random import randint
|
from random import randint
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
|
from tempfile import gettempdir
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
from time import sleep, time
|
from time import sleep, time
|
||||||
|
|
||||||
@ -36,7 +37,11 @@ class Screencast(object):
|
|||||||
raise ValueError('save_path必须设置。')
|
raise ValueError('save_path必须设置。')
|
||||||
|
|
||||||
if self._mode in ('frugal_video', 'video'):
|
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)
|
self._tmp_path.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
if self._mode.startswith('frugal'):
|
if self._mode.startswith('frugal'):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user