From 9ef22857123f9d30e37639fd93355f20665ae529 Mon Sep 17 00:00:00 2001 From: g1879 Date: Sun, 4 Apr 2021 16:36:47 +0800 Subject: [PATCH] =?UTF-8?q?scroll=5Fto()=E5=A2=9E=E5=8A=A0'half'=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E6=BB=9A=E5=8A=A8=E5=8D=8A=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/driver_page.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/DrissionPage/driver_page.py b/DrissionPage/driver_page.py index 430ca4e..8be327b 100644 --- a/DrissionPage/driver_page.py +++ b/DrissionPage/driver_page.py @@ -491,8 +491,8 @@ class DriverPage(object): ele.run_script("arguments[0].scrollIntoView();") def scroll_to(self, mode: str = 'bottom', pixel: int = 300) -> None: - """按参数指示方式滚动页面 \n - :param mode: 可选滚动方向:'top', 'bottom', 'rightmost', 'leftmost', 'up', 'down', 'left', 'right' + """按参数指示方式滚动页面 \n + :param mode: 可选滚动方向:'top', 'bottom', 'half', 'rightmost', 'leftmost', 'up', 'down', 'left', 'right' :param pixel: 滚动的像素 :return: None """ @@ -503,6 +503,10 @@ class DriverPage(object): self.driver.execute_script( "window.scrollTo(document.documentElement.scrollLeft,document.body.scrollHeight);") + elif mode == 'half': + self.driver.execute_script( + "window.scrollTo(document.documentElement.scrollLeft,document.body.scrollHeight/2);") + elif mode == 'rightmost': self.driver.execute_script("window.scrollTo(document.body.scrollWidth,document.documentElement.scrollTop);") @@ -523,7 +527,7 @@ class DriverPage(object): else: raise ValueError( - "Argument mode can only be 'top', 'bottom', 'rightmost', 'leftmost', 'up', 'down', 'left', 'right'.") + "Argument mode can only be 'top', 'bottom', 'half', 'rightmost', 'leftmost', 'up', 'down', 'left', 'right'.") def refresh(self) -> None: """刷新当前页面"""