修复刷新、前进、后退时可能出现的错误

This commit is contained in:
g1879 2022-11-25 23:05:48 +08:00
parent 1a8cd5508d
commit 314e7d1989

View File

@ -144,7 +144,6 @@ class ChromiumBase(BasePage):
"""返回用于控制浏览器的Tab对象会先等待页面加载完毕"""
while self._is_loading:
sleep(.1)
self._wait_loading()
return self._tab_obj
@property
@ -407,20 +406,34 @@ class ChromiumBase(BasePage):
:return: None
"""
self._driver.Page.reload(ignoreCache=ignore_cache)
self._get_document()
def forward(self, steps: int = 1) -> None:
"""在浏览历史中前进若干步 \n
:param steps: 前进步数
:return: None
"""
self.run_script(f'window.history.go({steps});', as_expr=True)
self._forward_or_back(steps)
def back(self, steps: int = 1) -> None:
"""在浏览历史中后退若干步 \n
:param steps: 后退步数
:return: None
"""
self.run_script(f'window.history.go({-steps});', as_expr=True)
self._forward_or_back(-steps)
def _forward_or_back(self, steps: int) -> None:
"""执行浏览器前进或后退
:param steps: 步数
:return: None
"""
self.run_script(f'window.history.go({steps});', as_expr=True)
while True:
try:
self._get_document()
break
except Exception:
sleep(.1)
def stop_loading(self) -> None:
"""页面停止加载"""
@ -732,4 +745,4 @@ class Timeout(object):
@property
def implicit(self):
return self.page.timeout
return self.page.timeout