阳洁
2023-07-18 b61853c4b97104184b5aa8790739e6b8d3c693e4
base/base_page.py
@@ -1,6 +1,7 @@
from selenium.common import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class BasePage:
    # 初始化方法
@@ -36,13 +37,21 @@
        return self.driver.find_element(*locator)
    # 使用js语句点击
    def script_click(self, *locator):
    def click_js(self, *locator):
        item = self.get_element(*locator)
        self.driver.execute_script("arguments[0].click();", item)
    def script_click_wait(self, *locator):
    def click_js_wait(self, *locator):
        item = self.get_element_wait(*locator)
        self.driver.execute_script("arguments[0].click();", item)
    def click_element_js(self, element):
        """
        使用js点击元素
        :param element: 要点击的元素
        :return:
        """
        self.driver.execute_script("arguments[0].click();", element)
    # 点击
    def click(self, locator):
@@ -109,7 +118,7 @@
            e = wait.until(EC.element_to_be_clickable(locator))
            if e is not None:
                return True
        except TimeoutException:
        except:
            pass
        return False
@@ -120,7 +129,7 @@
            e = wait.until(EC.presence_of_element_located(locator))
            if e is not None:
                return True
        except TimeoutException:
        except:
            pass
        return False
@@ -152,3 +161,13 @@
        self.switch_window(-1)
        # 在新标签页中加载指定url
        self.driver.get(url)
    def elements_is_visibility(self, locator):
        """
        判断是否至少有一个元素在页面中可见
        :param locator:
        :return:
        """
        wait = WebDriverWait(self.driver, 10, 0.5)
        return wait.until(EC.visibility_of_any_elements_located(locator))