Skip to content

Commit

Permalink
4.0.5.4
Browse files Browse the repository at this point in the history
  • Loading branch information
g1879 committed Jul 1, 2024
1 parent adaea3e commit b4f94ca
Show file tree
Hide file tree
Showing 37 changed files with 1,321 additions and 562 deletions.
2 changes: 1 addition & 1 deletion DrissionPage/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
from ._configs.session_options import SessionOptions

__all__ = ['ChromiumPage', 'ChromiumOptions', 'SessionOptions', 'SessionPage', 'WebPage', '__version__']
__version__ = '4.0.4.23'
__version__ = '4.0.5.4'
18 changes: 4 additions & 14 deletions DrissionPage/_base/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,14 +169,8 @@ def child(self, locator='', index=1, timeout=None, ele_only=True):
loc = loc[1].lstrip('./')

node = self._ele(f'xpath:./{loc}', timeout=timeout, index=index, relative=True, raise_err=False)
if node:
return node

if Settings.raise_when_ele_not_found:
raise ElementNotFoundError(None, 'child()', {'locator': locator, 'index': index,
'ele_only': ele_only})
else:
return NoneElement(self.owner, 'child()', {'locator': locator, 'index': index, 'ele_only': ele_only})
return node if node else NoneElement(self.owner, 'child()',
{'locator': locator, 'index': index, 'ele_only': ele_only})

def prev(self, locator='', index=1, timeout=None, ele_only=True):
"""返回前面的一个兄弟元素,可用查询语法筛选,可指定返回筛选结果的第几个
Expand Down Expand Up @@ -289,12 +283,8 @@ def _get_relative(self, func, direction, brother, locator='', index=1, timeout=N
index = locator
locator = ''
node = self._get_relatives(index, locator, direction, brother, timeout, ele_only)
if node:
return node
if Settings.raise_when_ele_not_found:
raise ElementNotFoundError(None, func, {'locator': locator, 'index': index, 'ele_only': ele_only})
else:
return NoneElement(self.owner, func, {'locator': locator, 'index': index, 'ele_only': ele_only})
return node if node else NoneElement(self.owner, func,
{'locator': locator, 'index': index, 'ele_only': ele_only})

def _get_relatives(self, index=None, locator='', direction='following', brother=True, timeout=.5, ele_only=True):
"""按要求返回兄弟元素或节点组成的列表
Expand Down
3 changes: 2 additions & 1 deletion DrissionPage/_base/base.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ from DownloadKit import DownloadKit

from .._elements.none_element import NoneElement
from .._elements.session_element import SessionElement
from .._functions.elements import SessionElementsList
from .._pages.chromium_page import ChromiumPage
from .._pages.session_page import SessionPage
from .._pages.web_page import WebPage
Expand All @@ -37,7 +38,7 @@ class BaseParser(object):
locator: Union[Tuple[str, str], str, BaseElement, None] = None,
index: int = 1) -> SessionElement: ...

def s_eles(self, locator: Union[Tuple[str, str], str]) -> List[SessionElement]: ...
def s_eles(self, locator: Union[Tuple[str, str], str]) -> SessionElementsList: ...

def _ele(self,
locator: Union[Tuple[str, str], str],
Expand Down
50 changes: 1 addition & 49 deletions DrissionPage/_configs/chromium_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ def set_load_mode(self, value):
return self

def set_paths(self, browser_path=None, local_port=None, address=None, download_path=None,
user_data_path=None, cache_path=None, debugger_address=None):
user_data_path=None, cache_path=None):
"""快捷的路径设置函数
:param browser_path: 浏览器可执行文件路径
:param local_port: 本地端口号
Expand All @@ -399,7 +399,6 @@ def set_paths(self, browser_path=None, local_port=None, address=None, download_p
:param cache_path: 缓存路径
:return: 当前对象
"""
address = address or debugger_address
if browser_path is not None:
self.set_browser_path(browser_path)

Expand Down Expand Up @@ -568,50 +567,3 @@ def save_to_default(self):

def __repr__(self):
return f'<ChromiumOptions at {id(self)}>'

# ---------------即将废弃--------------

@property
def debugger_address(self):
"""返回浏览器地址,ip:port"""
return self._address

@debugger_address.setter
def debugger_address(self, address):
"""设置浏览器地址,格式ip:port"""
self.set_address(address)

def set_page_load_strategy(self, value):
return self.set_load_mode(value)

def set_headless(self, on_off=True):
"""设置是否隐藏浏览器界面
:param on_off: 开或关
:return: 当前对象
"""
on_off = 'new' if on_off else 'false'
return self.set_argument('--headless', on_off)

def set_no_imgs(self, on_off=True):
"""设置是否加载图片
:param on_off: 开或关
:return: 当前对象
"""
on_off = None if on_off else False
return self.set_argument('--blink-settings=imagesEnabled=false', on_off)

def set_no_js(self, on_off=True):
"""设置是否禁用js
:param on_off: 开或关
:return: 当前对象
"""
on_off = None if on_off else False
return self.set_argument('--disable-javascript', on_off)

def set_mute(self, on_off=True):
"""设置是否静音
:param on_off: 开或关
:return: 当前对象
"""
on_off = None if on_off else False
return self.set_argument('--mute-audio', on_off)
11 changes: 0 additions & 11 deletions DrissionPage/_configs/session_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,17 +457,6 @@ def from_session(self, session, headers=None):
self._adapters = [(k, i) for k, i in session.adapters.items()]
return self

# --------------即将废弃---------------

def set_paths(self, download_path=None):
"""设置默认下载路径
:param download_path: 下载路径
:return: 返回当前对象
"""
if download_path is not None:
self._download_path = str(download_path)
return self

def __repr__(self):
return f'<SessionOptions at {id(self)}>'

Expand Down
Loading

0 comments on commit b4f94ca

Please sign in to comment.