mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
DriverOptions添加set_page_load_strategy()
This commit is contained in:
parent
1a98dca066
commit
25bfb3a1ee
@ -366,7 +366,7 @@ class SessionOptions(object):
|
|||||||
"""
|
"""
|
||||||
self._max_redirects = max_redirects
|
self._max_redirects = max_redirects
|
||||||
|
|
||||||
def set_headers(self, headers: dict):
|
def set_headers(self, headers: dict) -> 'SessionOptions':
|
||||||
"""设置headers参数 \n
|
"""设置headers参数 \n
|
||||||
:param headers: 参数值
|
:param headers: 参数值
|
||||||
:return: 返回当前对象
|
:return: 返回当前对象
|
||||||
@ -374,7 +374,7 @@ class SessionOptions(object):
|
|||||||
self._headers = {key.lower(): headers[key] for key in headers}
|
self._headers = {key.lower(): headers[key] for key in headers}
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_a_header(self, attr: str, value: str):
|
def set_a_header(self, attr: str, value: str) -> 'SessionOptions':
|
||||||
"""设置headers中一个项 \n
|
"""设置headers中一个项 \n
|
||||||
:param attr: 设置名称
|
:param attr: 设置名称
|
||||||
:param value: 设置值
|
:param value: 设置值
|
||||||
@ -386,7 +386,7 @@ class SessionOptions(object):
|
|||||||
self._headers[attr.lower()] = value
|
self._headers[attr.lower()] = value
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def remove_a_header(self, attr: str):
|
def remove_a_header(self, attr: str) -> 'SessionOptions':
|
||||||
"""从headers中删除一个设置 \n
|
"""从headers中删除一个设置 \n
|
||||||
:param attr: 要删除的设置
|
:param attr: 要删除的设置
|
||||||
:return: 返回当前对象
|
:return: 返回当前对象
|
||||||
@ -400,7 +400,7 @@ class SessionOptions(object):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_proxies(self, proxies: dict):
|
def set_proxies(self, proxies: dict) -> 'SessionOptions':
|
||||||
"""设置proxies参数 \n
|
"""设置proxies参数 \n
|
||||||
{'http': 'http://xx.xx.xx.xx:xxxx',
|
{'http': 'http://xx.xx.xx.xx:xxxx',
|
||||||
'https': 'http://xx.xx.xx.xx:xxxx'}
|
'https': 'http://xx.xx.xx.xx:xxxx'}
|
||||||
@ -410,10 +410,10 @@ class SessionOptions(object):
|
|||||||
self._proxies = proxies
|
self._proxies = proxies
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def save(self, path: str = None):
|
def save(self, path: str = None) -> str:
|
||||||
"""保存设置到文件 \n
|
"""保存设置到文件 \n
|
||||||
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
||||||
:return: 返回当前对象
|
:return: 保存文件的绝对路径
|
||||||
"""
|
"""
|
||||||
if path == 'default':
|
if path == 'default':
|
||||||
path = (Path(__file__).parent / 'configs.ini').absolute()
|
path = (Path(__file__).parent / 'configs.ini').absolute()
|
||||||
@ -434,9 +434,10 @@ class SessionOptions(object):
|
|||||||
for i in options:
|
for i in options:
|
||||||
om.set_item('session_options', i, options[i])
|
om.set_item('session_options', i, options[i])
|
||||||
|
|
||||||
om.save(str(path))
|
path = str(path)
|
||||||
|
om.save(path)
|
||||||
|
|
||||||
return self
|
return path
|
||||||
|
|
||||||
def as_dict(self) -> dict:
|
def as_dict(self) -> dict:
|
||||||
"""以字典形式返回本对象"""
|
"""以字典形式返回本对象"""
|
||||||
@ -477,10 +478,10 @@ class DriverOptions(Options):
|
|||||||
def chrome_path(self) -> str:
|
def chrome_path(self) -> str:
|
||||||
return self.binary_location
|
return self.binary_location
|
||||||
|
|
||||||
def save(self, path: str = None):
|
def save(self, path: str = None) -> str:
|
||||||
"""保存设置到文件 \n
|
"""保存设置到文件 \n
|
||||||
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
:param path: ini文件的路径,传入 'default' 保存到默认ini文件
|
||||||
:return: 当前对象
|
:return: 保存文件的绝对路径
|
||||||
"""
|
"""
|
||||||
if path == 'default':
|
if path == 'default':
|
||||||
path = (Path(__file__).parent / 'configs.ini').absolute()
|
path = (Path(__file__).parent / 'configs.ini').absolute()
|
||||||
@ -504,11 +505,12 @@ class DriverOptions(Options):
|
|||||||
else:
|
else:
|
||||||
om.set_item('chrome_options', i, options[i])
|
om.set_item('chrome_options', i, options[i])
|
||||||
|
|
||||||
om.save(str(path))
|
path = str(path)
|
||||||
|
om.save(path)
|
||||||
|
|
||||||
return self
|
return path
|
||||||
|
|
||||||
def remove_argument(self, value: str):
|
def remove_argument(self, value: str) -> 'DriverOptions':
|
||||||
"""移除一个argument项 \n
|
"""移除一个argument项 \n
|
||||||
:param value: 设置项名,有值的设置项传入设置名称即可
|
:param value: 设置项名,有值的设置项传入设置名称即可
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -524,7 +526,7 @@ class DriverOptions(Options):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def remove_experimental_option(self, key: str):
|
def remove_experimental_option(self, key: str) -> 'DriverOptions':
|
||||||
"""移除一个实验设置,传入key值删除 \n
|
"""移除一个实验设置,传入key值删除 \n
|
||||||
:param key: 实验设置的名称
|
:param key: 实验设置的名称
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -534,7 +536,7 @@ class DriverOptions(Options):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def remove_all_extensions(self):
|
def remove_all_extensions(self) -> 'DriverOptions':
|
||||||
"""移除所有插件 \n
|
"""移除所有插件 \n
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
"""
|
"""
|
||||||
@ -542,7 +544,7 @@ class DriverOptions(Options):
|
|||||||
self._extensions = []
|
self._extensions = []
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_argument(self, arg: str, value: Union[bool, str]):
|
def set_argument(self, arg: str, value: Union[bool, str]) -> 'DriverOptions':
|
||||||
"""设置浏览器配置的argument属性 \n
|
"""设置浏览器配置的argument属性 \n
|
||||||
:param arg: 属性名
|
:param arg: 属性名
|
||||||
:param value: 属性值,有值的属性传入值,没有的传入bool
|
:param value: 属性值,有值的属性传入值,没有的传入bool
|
||||||
@ -556,7 +558,7 @@ class DriverOptions(Options):
|
|||||||
|
|
||||||
return self
|
return self
|
||||||
|
|
||||||
def set_headless(self, on_off: bool = True):
|
def set_headless(self, on_off: bool = True) -> 'DriverOptions':
|
||||||
"""设置是否隐藏浏览器界面 \n
|
"""设置是否隐藏浏览器界面 \n
|
||||||
:param on_off: 开或关
|
:param on_off: 开或关
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -564,7 +566,7 @@ class DriverOptions(Options):
|
|||||||
on_off = True if on_off else False
|
on_off = True if on_off else False
|
||||||
return self.set_argument('--headless', on_off)
|
return self.set_argument('--headless', on_off)
|
||||||
|
|
||||||
def set_no_imgs(self, on_off: bool = True):
|
def set_no_imgs(self, on_off: bool = True) -> 'DriverOptions':
|
||||||
"""设置是否加载图片 \n
|
"""设置是否加载图片 \n
|
||||||
:param on_off: 开或关
|
:param on_off: 开或关
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -572,7 +574,7 @@ class DriverOptions(Options):
|
|||||||
on_off = True if on_off else False
|
on_off = True if on_off else False
|
||||||
return self.set_argument('--blink-settings=imagesEnabled=false', on_off)
|
return self.set_argument('--blink-settings=imagesEnabled=false', on_off)
|
||||||
|
|
||||||
def set_no_js(self, on_off: bool = True):
|
def set_no_js(self, on_off: bool = True) -> 'DriverOptions':
|
||||||
"""设置是否禁用js \n
|
"""设置是否禁用js \n
|
||||||
:param on_off: 开或关
|
:param on_off: 开或关
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -580,7 +582,7 @@ class DriverOptions(Options):
|
|||||||
on_off = True if on_off else False
|
on_off = True if on_off else False
|
||||||
return self.set_argument('--disable-javascript', on_off)
|
return self.set_argument('--disable-javascript', on_off)
|
||||||
|
|
||||||
def set_mute(self, on_off: bool = True):
|
def set_mute(self, on_off: bool = True) -> 'DriverOptions':
|
||||||
"""设置是否静音 \n
|
"""设置是否静音 \n
|
||||||
:param on_off: 开或关
|
:param on_off: 开或关
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
@ -588,20 +590,31 @@ class DriverOptions(Options):
|
|||||||
on_off = True if on_off else False
|
on_off = True if on_off else False
|
||||||
return self.set_argument('--mute-audio', on_off)
|
return self.set_argument('--mute-audio', on_off)
|
||||||
|
|
||||||
def set_user_agent(self, user_agent: str):
|
def set_user_agent(self, user_agent: str) -> 'DriverOptions':
|
||||||
"""设置user agent \n
|
"""设置user agent \n
|
||||||
:param user_agent: user agent文本
|
:param user_agent: user agent文本
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
"""
|
"""
|
||||||
return self.set_argument('user-agent', user_agent)
|
return self.set_argument('user-agent', user_agent)
|
||||||
|
|
||||||
def set_proxy(self, proxy: str):
|
def set_proxy(self, proxy: str) -> 'DriverOptions':
|
||||||
"""设置代理 \n
|
"""设置代理 \n
|
||||||
:param proxy: 代理url和端口
|
:param proxy: 代理url和端口
|
||||||
:return: 当前对象
|
:return: 当前对象
|
||||||
"""
|
"""
|
||||||
return self.set_argument('--proxy-server', proxy)
|
return self.set_argument('--proxy-server', proxy)
|
||||||
|
|
||||||
|
def set_page_load_strategy(self, value: str) -> 'DriverOptions':
|
||||||
|
"""设置page_load_strategy,可接收 'normal', 'eager', 'none' \n
|
||||||
|
normal:默认情况下使用, 等待所有资源下载完成
|
||||||
|
eager:DOM访问已准备就绪, 但其他资源 (如图像) 可能仍在加载中
|
||||||
|
none:完全不阻塞WebDriver
|
||||||
|
:param value: 可接收 'normal', 'eager', 'none'
|
||||||
|
:return: 当前对象
|
||||||
|
"""
|
||||||
|
self.page_load_strategy = value
|
||||||
|
return self
|
||||||
|
|
||||||
def set_paths(self,
|
def set_paths(self,
|
||||||
driver_path: str = None,
|
driver_path: str = None,
|
||||||
chrome_path: str = None,
|
chrome_path: str = None,
|
||||||
@ -609,7 +622,7 @@ class DriverOptions(Options):
|
|||||||
debugger_address: str = None,
|
debugger_address: str = None,
|
||||||
download_path: str = None,
|
download_path: str = None,
|
||||||
user_data_path: str = None,
|
user_data_path: str = None,
|
||||||
cache_path: str = None):
|
cache_path: str = None) -> 'DriverOptions':
|
||||||
"""快捷的路径设置函数 \n
|
"""快捷的路径设置函数 \n
|
||||||
:param driver_path: chromedriver.exe路径
|
:param driver_path: chromedriver.exe路径
|
||||||
:param chrome_path: chrome.exe路径
|
:param chrome_path: chrome.exe路径
|
||||||
|
Loading…
x
Reference in New Issue
Block a user