From 94ab5975a990f38cb01a6f79deaf30563b00d582 Mon Sep 17 00:00:00 2001 From: g1879 Date: Fri, 8 Jan 2021 11:17:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=5Ftry=5Fto=5Fconnect()?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/driver_page.py | 19 ++++++++----------- DrissionPage/session_page.py | 9 +++------ 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/DrissionPage/driver_page.py b/DrissionPage/driver_page.py index f5832a6..cb64f10 100644 --- a/DrissionPage/driver_page.py +++ b/DrissionPage/driver_page.py @@ -101,20 +101,17 @@ class DriverPage(object): :return: 是否成功 """ err = None - - def go() -> bool: - nonlocal err - try: - self.driver.get(to_url) - return True - except Exception as e: - err = e - return False - is_ok = False for _ in range(times + 1): - is_ok = self.check_page() if go() else False + try: + self.driver.get(to_url) + go_ok = True + except Exception as e: + err = e + go_ok = False + + is_ok = self.check_page() if go_ok else False if is_ok is not False: break diff --git a/DrissionPage/session_page.py b/DrissionPage/session_page.py index bee8db4..920c237 100644 --- a/DrissionPage/session_page.py +++ b/DrissionPage/session_page.py @@ -200,16 +200,13 @@ class SessionPage(object): err = None r = None - def go() -> Union[Response, None]: - nonlocal err + for _ in range(times + 1): try: - return self._make_response(to_url, mode=mode, show_errmsg=True, **kwargs)[0] + r = self._make_response(to_url, mode=mode, show_errmsg=True, **kwargs)[0] except Exception as e: err = e - return None + r = None - for _ in range(times + 1): - r = go() if r and (r.content != b'' or r.status_code in (403, 404)): break