| | |
| | | from selenium.common import TimeoutException |
| | | |
| | | from selenium.webdriver.support.wait import WebDriverWait |
| | | from selenium.webdriver.support import expected_conditions as EC |
| | | |
| | | |
| | | class BasePage: |
| | | # 初始化方法 |
| | |
| | | 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): |
| | |
| | | e = wait.until(EC.element_to_be_clickable(locator)) |
| | | if e is not None: |
| | | return True |
| | | except TimeoutException: |
| | | except: |
| | | pass |
| | | return False |
| | | |
| | |
| | | e = wait.until(EC.presence_of_element_located(locator)) |
| | | if e is not None: |
| | | return True |
| | | except TimeoutException: |
| | | except: |
| | | pass |
| | | return False |
| | | |
| | |
| | | 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)) |
| | | |