From 8c8710402032ac38031ab0b63e1058f9b7efc693 Mon Sep 17 00:00:00 2001 From: g1879 Date: Mon, 25 May 2020 23:49:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84chrome=5Fdownloading=EF=BC=8C?= =?UTF-8?q?=E4=BB=8E=E9=85=8D=E7=BD=AE=E4=B8=AD=E8=8E=B7=E5=8F=96=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/mix_page.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/DrissionPage/mix_page.py b/DrissionPage/mix_page.py index 18cb215..0dc4860 100644 --- a/DrissionPage/mix_page.py +++ b/DrissionPage/mix_page.py @@ -157,6 +157,23 @@ class MixPage(Null, SessionPage, DriverPage): self.change_mode('s', go=False) return super().post(url, params, data, go_anyway, **kwargs) + # ----------------重写DriverPage的函数----------------------- + + def chrome_downloading(self, download_path: str = None) -> list: + """检查浏览器下载情况,返回正在下载的文件列表 + :param download_path: 下载文件夹路径,默认读取配置信息 + :return: 正在下载的文件列表 + """ + try: + path = download_path or self._drission.driver_options['experimental_options']['prefs'][ + 'download.default_directory'] + if not path: + raise KeyError + except KeyError: + raise KeyError('Download path not found.') + + return super().chrome_downloading(path) + # ----------------以下为共用函数----------------------- def get(self, url: str, params: dict = None, go_anyway=False, **kwargs) -> Union[bool, None]: @@ -191,7 +208,7 @@ class MixPage(Null, SessionPage, DriverPage): # return super(SessionPage, self).ele(loc_or_ele, mode=mode, timeout=timeout, show_errmsg=show_errmsg) return DriverPage.ele(self, loc_or_ele, mode=mode, timeout=timeout, show_errmsg=show_errmsg) - def eles(self, loc_or_str: Union[tuple, str], timeout: float = None, show_errmsg: bool = False)\ + def eles(self, loc_or_str: Union[tuple, str], timeout: float = None, show_errmsg: bool = False) \ -> List[DriverElement]: """查找符合条件的所有元素""" if self._mode == 's':