yj
2024-07-24 3b84cce1ee43215b9f398148fda19f4b1025856b
base/base_page.py
@@ -279,7 +279,7 @@
        return element.find_element(*locator)
    # 在指定元素中定位多个元素
    def get_elements_in(self, element, *locator):
    def get_elements_in(self, element, locator):
        return element.find_elements(*locator)
    # 元素定位
@@ -397,15 +397,26 @@
    # 滑动页面
    def scroll_by(self, num):
        self.driver.execute_script("window.scrollBy(0, " + num + ");")
        self.driver.execute_script(f"window.scrollBy(0, {num})")
    def scroll_to_top(self):
        self.driver.execute_script("window.scrollTo(0, 0);")
    # 滑动到底部
    def scroll_to_bottom(self):
        self.driver.execute_script("window.scrollBy(0,document.body.scrollHeight);")
    # 滑动到顶部
    def scroll_to_top(self):
        self.driver.execute_script("window.scrollBy(0,0);")
    # 滚动到对应元素上
    def scroll_to_element(self, ele, timeout=None):
        # 获取元素的坐标
        element_top = self.driver.execute_script("return arguments[0].getBoundingClientRect().top;", ele)
        # 获取视口的高度
        viewport_height = self.driver.execute_script("return window.innerHeight;")
        # 计算滚动距离
        scroll_distance = element_top + viewport_height - ele.size['height']
        # 执行滚动操作
        self.driver.execute_script(f"window.scrollTo(0, {scroll_distance});")
        WebDriverWait(self.driver, 10).until(EC.visibility_of(ele))
    # 截取当前窗口保存为图片
    def get_png(self):